Skip to main content

General Requirements

This page describes the main tools, platforms, and resources our team is using to develop and test the project. The goal is to make sure everyone can work in a consistent environment and understand whatโ€™s needed to build and maintain the system effectively.


1. Development Environmentโ€‹

Required Toolsโ€‹

  • Git & GitHub โ€“ used for version control, collaboration, and hosting our documentation through Docusaurus.
  • Node.js (v18 or later) โ€“ runs both the Express backend and the Docusaurus site.
  • Python 3.x โ€“ supports backend functionality and potential AAC-related features down the line.
  • Visual Studio Code (VS Code) โ€“ our main editor for coding and documentation work.
  • Discord โ€“ used for quick communication and group coordination.
  • Jira โ€“ tracks tasks and helps us stay organized during sprints.

Recommonded Extenstions (VS Code)โ€‹

  • Python - For Python development and debugging
  • REST Client - for testing API endpoints directly in VS Code

2. Hardware Requirementsโ€‹

  • A laptop or desktop computer that can run Node.js and Python smoothly.
  • Microphone access, needed for testing AAC and speech-based features.
  • Speakers or headphones, for listening to audio output.

3. Software Dependenciesโ€‹

Below are the main technologies weโ€™re currently using or planning to integrate:

CategoryDependencyPurpose
BackendExpress (Node.js)Handles API routing and server logic
Backend SupportPythonUsed for AAC-related logic or potential data processing
FrontendDocusaurusManages and hosts the project documentation
Python Speech RecognitionSpeechRecognitionConverts audio to text using Google Speech Recognition API
Reference ToolCoughDropUsed to reference and test AAC boards and speech interaction

4. Network Requirementsโ€‹

  • Internet Access โ€“ required for:
    • Using GitHUb for version control
    • Accessing Docusaurus documentation
    • Google Speech Recognition API calls (used by the Python backend)
    • Testing with AAC boards
  • Stable Connection โ€“ essential for speech recognition APi calls and testing real-time AAC interactions

5. Supported Audio Formatsโ€‹

The API currently supports the following audio formats for speech-to-text processing:

FormatExtensionNotes
WAV.wavRecommended format, best compatability
FLAC.flacLossless compression, good quality
AIIF.aiifApple audio format
MP3.mp3Compressed format
OGG.oggOpen-soruce format
M4A.m4aApple compressed audio

Note: WAV format is recommended for best results for its uncompressed nature and full compatiblity with the speech recognition library.


6. Documentation & Collaboration Toolsโ€‹

ToolPurpose
GitHubStores the codebase and documentation, and tracks version history
DocusaurusGenerates and hosts our documentation site
JiraOrganizes work items and team progress
DiscordMain communication platform for daily collaboration

7. Testing Requirementsโ€‹

Unit Testingโ€‹

  • Framework: Jest
  • Test Files: Located in 'Inital_API/tests/' directory
  • Run Tests: 'npm test'
  • Coverage: Aim for 80%+ code coverage on paths

8. Platform Compatibilityโ€‹

The API is designed to be cross-platform compatible:

PlatformPythonStatus
Windows'python'Fully Supported
macOS'python3'Fully Supported
Linux'python3'Fully Supported

Note: The API automatically detects the platform and uses the appropriate Python command

9. Summaryโ€‹

These tools and requirements make up the foundation of our development process. The API is built with Express.js and Python, providing a robust audio-to-text processing pipeline that supports multiple audio formats and includes logging and metadata tracking. Keeping everyone on the same setup helps us avoid compatibility issues and stay consistent.