- Overview
- Performance Features
- Features at a Glance
- Features Showcase
- Core Capabilities
- Getting Started
- Data Collection Framework
- Project Architecture
- Development Scripts
- Platform Compatibility
- Documentation
- Use Cases
- Security & Privacy
- Troubleshooting
- FAQ
- Roadmap
- Contributing
- Citation
- License
- Acknowledgments
CoughTestVoiceCollector is a production-ready, enterprise-grade web application designed for systematic collection and analysis of cough audio data in academic research environments. Built with modern web technologies and optimized for performance, the platform implements IEEE-compliant software engineering standards while providing researchers with robust, scalable tools for audio data acquisition, validation, and export.
Key Domains: Academic Research β’ Audio Data Collection β’ Software Engineering β’ Data Science β’ Performance Engineering
- Live Deployment: Fully operational on Vercel + PythonAnywhere
- Performance Optimized: Sub-second page loads with intelligent caching
- Mobile First: Responsive design with 480px breakpoint optimization
- Real-time Updates: Instant data refresh with cache invalidation
- Enterprise Ready: Scalable architecture with comprehensive error handling
- Live Application: https://cough-test-voice-collector.vercel.app/
- Backend API: https://shksabbir7.pythonanywhere.com/api/
- Admin Panel: https://shksabbir7.pythonanywhere.com/admin/
- Frontend Application: http://localhost:3000
- REST API Endpoint: http://localhost:8000/api
- Administrative Panel: http://localhost:8000/admin
- Default credentials:
admin/admin123(change in production)
- Default credentials:
- Critical Path Loading: Home and Record pages preloaded for instant access
- Skeleton Loaders: Animated placeholders during data fetching
- Smart Caching: Multi-layer cache invalidation with real-time updates
- API Optimization: 10s timeout for list requests, optimized queries
- Bundle Splitting: Lazy loading for non-critical components
- Responsive Breakpoints: 480px optimized for consistent mobile experience
- Touch-Friendly UI: 44px minimum touch targets for accessibility
- Auto-Close Navigation: Mobile navbar closes automatically after selection
- Optimized Forms: Mobile-first form design with proper input types
- Performance Scaling: Reduced animations and effects on mobile devices
- Instant Updates: New recordings appear immediately without page refresh
- Event-Driven Refresh: Cross-component communication for data synchronization
- Cache Busting: Automatic browser cache invalidation after uploads
- Live Analytics: Real-time statistics with 5-minute cache refresh
|
|
|
|
Landing page with quick access to recording, browsing, and analytics features
Intuitive browser-based audio capture with real-time feedback and quality validation
Comprehensive statistics showing total recordings, users, data quality metrics, and usage patterns
Browse, filter, search, and export recordings with advanced data management tools
Django admin interface for comprehensive data management and system configuration
- Standardized Data Collection: Browser-based 10-second audio recording with automated quality validation
- Comprehensive Metadata Capture: Technical specifications, user context, and system information for each recording
- Multi-Format Export: CSV for statistical analysis, HTML for review, ZIP for complete datasets
- Real-Time Analytics: Platform statistics, data quality metrics, and usage patterns
- Automated Validation: Quality checks ensuring research compliance and data integrity
- Full-Stack Implementation: Django REST API backend with React single-page application frontend
- Flexible Authentication: JWT-based user accounts with support for anonymous submissions
- Audio Format Support: WAV, MP3, WebM, OGG, M4A file processing and storage
- Responsive Design: Cross-platform compatibility for desktop and mobile devices
- Performance Optimization: Caching strategies, pagination, and efficient data handling
- Modern Development Practices: Clean architecture, modular design, and comprehensive error handling
- IEEE Standards: Full compliance with IEEE 830-1998 (Requirements), IEEE 1016-2009 (Design), and IEEE 829-2008 (Testing)
- Research Methodology: Systematic data collection framework with validation procedures
- Professional Documentation: 14 comprehensive documents covering all system aspects
- Quality Assurance: Complete testing strategy with validation and verification procedures
- Python 3.9 or higher
- Node.js 18.0 or higher
- Git version control
- 2GB available disk space
- Modern web browser (Chrome, Firefox, Safari, Edge)
Windows:
git clone https://github.com/alphapie77/CoughTestVoiceCollector.git
cd CoughTestVoiceCollector
scripts\setup.bat
scripts\start_servers.batmacOS/Linux:
git clone https://github.com/alphapie77/CoughTestVoiceCollector.git
cd CoughTestVoiceCollector
chmod +x scripts/*.sh
./scripts/setup.sh
./scripts/start_servers.shTry it now (No installation required):
For local development:
Each recording captures comprehensive metadata for research analysis:
- Audio Technical Specifications: Duration, sample rate, bit rate, channel configuration, file size
- User Attribution: Authenticated username or anonymous identifier
- Recording Context: Collection method (browser/upload), timestamp, file format
- System Telemetry: IP address, user agent (for research purposes only)
CSV exports include the following fields for statistical analysis:
Recording ID, User Type, User Name, File Name, File Size (MB),
File Format, Duration (seconds), Recording Method, Created At,
Sample Rate, Bit Rate, Channels, IP Address, User Agent
CoughTestVoiceCollector/
βββ π backend/ # Django REST API
β βββ accounts/ # User authentication
β βββ recordings/ # Audio recording management
β βββ coughtest_backend/ # Django project settings
β βββ requirements.txt # Python dependencies
βββ π frontend/ # React application
β βββ src/ # Source code
β β βββ components/ # Reusable UI components
β β βββ pages/ # Page components
β β βββ contexts/ # React contexts
β β βββ services/ # API communication
β βββ package.json # Node.js dependencies
βββ π scripts/ # Automation scripts
β βββ setup.bat/.sh # Project setup
β βββ start_servers.bat/.sh # Development servers
β βββ build_production.bat # Production build
βββ π docs/ # Documentation
βββ README.md # This file
| Script | Windows | macOS/Linux | Description |
|---|---|---|---|
| Setup | scripts\setup.bat |
./scripts/setup.sh |
Install dependencies, create admin user |
| Start | scripts\start_servers.bat |
./scripts/start_servers.sh |
Run development servers |
| Build | scripts\build_production.bat |
Manual commands | Build for production |
| Test | scripts\test_application.bat |
Manual commands | Test application |
The platform supports importing existing audio datasets through a Django management command:
cd backend
python manage.py import_cough_data "path/to/audio/files" --anonymous-prefix "Study2024"Supported Audio Formats: WAV, MP3, WebM, M4A, OGG
Refer to the Bulk Import Guide for detailed instructions and best practices.
- Web Browsers: Chrome, Firefox, Safari, Edge (latest versions)
- Operating Systems: Windows 10/11, macOS 10.15+, Linux (Ubuntu 20.04+)
- Database Systems: SQLite (development), PostgreSQL, MySQL (production)
- Deployment Options: AWS, Azure, Google Cloud, self-hosted servers, Docker containers
Comprehensive documentation suite covering all aspects of the platform:
- Software Requirements Specification - IEEE 830-1998 compliant
- System Design Document - IEEE 1016-2009 compliant
- Research Methodology - Academic framework and validation procedures
- API Documentation - Complete REST API reference
- User Manual - Comprehensive platform usage guide
- Deployment Guide - Production deployment procedures
- Windows Setup Guide - Windows-specific installation
- Cross-Platform Guide - Multi-OS compatibility information
- Testing Strategy - IEEE 829-2008 compliant test documentation
- Test Results - Current validation and verification status
- Bulk Import Guide - Dataset import procedures
- Documentation Index - Complete documentation navigation
- Data Collection: Systematic audio sampling with standardized protocols and quality controls
- Statistical Analysis: Export capabilities for R, Python, SPSS, and other analysis tools
- Quality Assurance: Automated validation ensuring data integrity and research compliance
- Longitudinal Studies: Comprehensive audit trails for tracking contributions over time
- Multi-Site Research: Standardized collection protocols across distributed research locations
- Thesis Research: Complete platform demonstrating professional software engineering principles
- Peer Review: IEEE-compliant documentation suitable for academic review and publication
- Reproducible Research: Full methodology documentation enabling research replication
- Educational Resource: Reference implementation of modern full-stack development practices
- Streamlined Contribution: Browser-based recording or file upload with minimal friction
- Flexible Authentication: Optional user accounts with JWT security or anonymous submission
- Quality Feedback: Real-time validation and recording quality assessment
- Contribution Tracking: Personal dashboard for registered users to monitor their submissions
- Architecture Reference: Modern full-stack implementation with clean separation of concerns
- API Integration: RESTful API with comprehensive documentation and examples
- Quality Standards: IEEE-compliant requirements, design, and testing documentation
- Testing Framework: Complete testing strategy with unit, integration, and system tests
- Anonymous Submissions: Platform supports data collection without personal information requirements
- Secure Storage: Audio files stored with UUID identifiers, isolated from user data
- JWT Authentication: Industry-standard token-based authentication for registered users
- Research Metadata: IP addresses and user agents collected solely for academic research purposes
- Data Protection: Compliance with research ethics and data protection best practices
This repository contains authentic research data collected for academic validation purposes:
Data Components:
- Database:
backend/db.sqlite3(metadata, user information, system logs) - Audio Files:
backend/media/cough_recordings/(research audio samples) - Documentation: Complete methodology and validation procedures
- Export Tools: Multi-format data export capabilities for statistical analysis
Research Standards:
- Data Integrity: Complete preservation for academic validation and peer review
- Reproducibility: Comprehensive methodology documentation enabling research replication
- Quality Assurance: Systematic validation procedures ensuring data reliability
- Ethical Compliance: Privacy protection and informed consent management
- Software Engineering: Professional development practices and architectural patterns
- Research Methodology: Systematic data collection and validation framework
- Quality Assurance: IEEE-compliant testing and documentation standards
- Data Science: End-to-end pipeline from collection to analysis-ready export
Research Integrity Notice: All data is preserved in its original form for academic validation, peer review, and reproducibility verification.
- IEEE 830-1998: Software Requirements Specification
- IEEE 1016-2009: Software Design Descriptions
- IEEE 829-2008: Software Test Documentation
- Academic research methodology standards
- 14 comprehensive technical documents
- 3,200+ lines of professional documentation
- Multi-audience approach (engineers, researchers, end-users)
- Complete technical specifications and validation procedures
- Full-stack web application architecture (Django REST + React SPA)
- RESTful API with comprehensive endpoint documentation
- Responsive design with cross-platform browser support
- Comprehensive testing strategy with automated validation
- Modern development practices and clean code architecture
- Standardized data collection protocols with quality validation
- Multi-format export (CSV, HTML, ZIP) for various analysis tools
- Real-time analytics dashboard with quality metrics
- Bulk import utilities for existing audio datasets
- Automated metadata extraction and validation
- Research Methodology: Research Methodology Document
- Technical Implementation: System Design Document
- Complete Documentation: Documentation Index
- Installation Issues: Windows Setup Guide | Cross-Platform Guide
- API Integration: API Documentation
- Testing & Validation: Testing Strategy
Problem: Upload timeout on bulk files
- Solution: Files are likely still processing. Check the Browse page after a few minutes.
- The platform handles large uploads but may show timeout messages.
Problem: Mobile navbar doesn't close
- Solution: This has been fixed. The mobile menu now closes automatically when clicking navigation links.
Problem: Page refresh shows 404
- Solution: This has been resolved with proper URL rewrite rules for client-side routing.
Problem: New recordings don't appear immediately
- Solution: This has been fixed with cache invalidation. New recordings now appear instantly.
Problem: Recording upload fails
# Solution: Ensure media directories exist
cd backend
mkdir media\cough_recordings # Windows
mkdir -p media/cough_recordings # Linux/macOSProblem: Cannot fetch recordings
# Solution: Check if backend server is running
cd backend
python manage.py runserverProblem: Frontend not connecting to backend
- Verify backend is running on
http://localhost:8000 - Check CORS settings in
backend/coughtest_backend/settings.py - Ensure frontend
.envhas correctREACT_APP_API_URL
Problem: Database migration errors
cd backend
python manage.py migrate --run-syncdbProblem: Development and production look different
- Solution: Mobile responsive breakpoint has been adjusted to 480px for consistency.
For more issues, see Windows Setup Guide or Cross-Platform Guide.
Q: Can I use this for commercial purposes?
A: This is released under an Academic Research License. Contact the author for commercial licensing.
Q: How do I contribute audio samples?
A: Simply visit the platform, click "Record Cough", and follow the instructions. No account required!
Q: Is my data secure and anonymous?
A: Yes! The platform supports fully anonymous submissions with secure UUID-based file storage.
Q: What audio formats are supported?
A: WAV, MP3, WebM, OGG, and M4A formats are fully supported.
Q: Can I export data for analysis?
A: Yes! Export in CSV (for statistical analysis), HTML (for review), or ZIP (complete dataset).
Q: How do I cite this platform in my research?
A: See the Citation section below.
- β Browser-based audio recording
- β Multi-format file upload with bulk support
- β Real-time analytics dashboard
- β Multi-format data export (CSV, HTML, ZIP)
- β IEEE-compliant documentation
- β Production deployment on Vercel + PythonAnywhere
- β Mobile-responsive design with professional UX
- β Performance optimizations with caching
- β Real-time updates with cache invalidation
- β Skeleton loaders for better UX
- π Advanced audio analysis features
- π Machine learning integration
- π Enhanced visualization tools
- π Mobile application support
- π Multi-language support
- π Cloud deployment templates
- π Advanced collaboration features
- π API rate limiting dashboard
See CHANGELOG.md for detailed version history.
Contribute audio samples to advance scientific research:
Production Platform:
- Visit https://cough-test-voice-collector.vercel.app/
- Click "Record Cough" or "Upload File"
- Follow the on-screen instructions
- Submit your recording
Local Development:
- Visit the platform at
http://localhost:3000 - Follow the same steps as above
We welcome technical contributions! Please follow these steps:
-
Fork the repository
git clone https://github.com/alphapie77/CoughTestVoiceCollector.git
-
Create a feature branch
git checkout -b feature/your-feature-name
-
Make your changes
- Follow the existing code style
- Add tests for new features
- Update documentation as needed
-
Test your changes
cd backend python manage.py test
-
Submit a pull request
- Provide a clear description of changes
- Reference any related issues
- Ensure all tests pass
- Follow PEP 8 for Python code
- Use ESLint for JavaScript code
- Write meaningful commit messages
- Add comments for complex logic
- Update documentation for new features
For detailed guidelines, see System Design Document and Testing Strategy.
If you use this platform in your research, please cite:
@software{coughtestvoicecollector2025,
author = {alphapie77},
title = {CoughTestVoiceCollector: Enterprise Audio Research Platform},
year = {2025},
publisher = {GitHub},
url = {https://github.com/alphapie77/CoughTestVoiceCollector},
version = {2.0.0}
}APA Format:
alphapie77. (2025). CoughTestVoiceCollector: Enterprise Audio Research Platform
(Version 2.0.0) [Computer software]. GitHub.
https://github.com/alphapie77/CoughTestVoiceCollector
This software is released under an Academic Research License. The platform was developed for thesis research and audio data collection purposes.
Key Points:
- β Free for academic and research use
- β Modification and distribution allowed with attribution
- β Commercial use requires separate licensing
- β No warranty provided
See LICENSE for complete terms and conditions.
- Django - High-level Python web framework
- React - JavaScript library for building user interfaces
- Bootstrap - CSS framework for responsive design
- Django REST Framework - Powerful toolkit for building Web APIs
- IEEE 830-1998 - Software Requirements Specification
- IEEE 1016-2009 - Software Design Descriptions
- IEEE 829-2008 - Software Test Documentation
- Academic advisors and reviewers
- Research participants who contributed audio samples
- Open-source community for excellent tools and libraries
- GitHub: @alphapie77
- Repository: CoughTestVoiceCollector
- π Documentation: Complete Documentation Index
- π Bug Reports: GitHub Issues
- π‘ Feature Requests: GitHub Discussions
- π οΈ Support: Create an issue
Advancing scientific research through systematic audio data collection and analysis
π Live Demo β’ π Documentation β’ π§ API Reference β’ π Report Issue