Repository navigation
Able-D: Accessible Learning Platform
A comprehensive educational platform designed to make learning accessible for students with diverse needs, including visual impairments, hearing impairments, speech difficulties, and dyslexia.
π― Project Overview
Able-D is a full-stack application that provides:
- AI-powered content adaptation for different learning needs
- Multi-modal learning support (text, audio, visual)
- Teacher and student dashboards with role-based access
- Document processing and text extraction
- Speech-to-text and text-to-speech capabilities
- Firebase authentication and MongoDB database
ποΈ Architecture
Able-D/
βββ frontend/ # React + TypeScript + Vite + Tailwind CSS
βββ backend/ # Flask + Python + MongoDB + Firebase
βββ docs/ # Comprehensive documentation
βββ README.md # This file
π Quick Start
Prerequisites
- Node.js (v18 or higher)
- Python (v3.8 or higher)
- MongoDB (local or cloud instance)
- Firebase project (for authentication)
- Azure Speech Services (for STT/TTS)
Installation
-
Clone the repository
git clone <repository-url> cd Able-D
-
Backend Setup
cd backend pip install -r requirements.txt python run.py -
Frontend Setup
cd frontend npm install npm run dev -
Environment Configuration
- Copy
.env.exampleto.envin both frontend and backend directories - Configure your API keys and database connections
- Copy
π§ Key Features
For Students
- Adaptive UI based on accessibility needs
- AI-generated study notes from uploaded documents
- Multi-format content consumption (text, audio, visual)
- Personalized learning experience
For Teachers
- Document upload and processing
- AI-powered content generation
- Student progress tracking
- Content management system
Technical Features
- Real-time AI processing using Google Gemini
- Speech services via Azure Cognitive Services
- Secure authentication with Firebase
- Responsive design with accessibility focus
- RESTful API with comprehensive documentation
π Documentation
π οΈ Development
Running in Development Mode
-
Start Backend
cd backend python run.py -
Start Frontend
cd frontend npm run dev -
Access the application
- Frontend: http://localhost:5173
- Backend API: http://localhost:5000
Testing
# Backend tests
cd backend
python -m pytest
# Frontend tests
cd frontend
npm testπ Environment Variables
Backend (.env)
MONGODB_URI=mongodb://localhost:27017/able-d
FIREBASE_CREDENTIALS_PATH=path/to/firebase-credentials.json
AZURE_SPEECH_KEY=your_azure_speech_key
AZURE_SPEECH_REGION=your_azure_region
GEMINI_API_KEY=your_gemini_api_key
FLASK_SECRET_KEY=your_secret_key
Frontend (.env)
VITE_API_BASE_URL=http://localhost:5000
VITE_FIREBASE_API_KEY=your_firebase_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
π¦ Deployment
Docker Deployment
# Build and run with Docker Compose
docker-compose up --buildManual Deployment
- Build frontend:
npm run build - Deploy backend to your preferred hosting service
- Configure environment variables
- Set up MongoDB and Firebase
π€ Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Commit changes:
git commit -m 'Add feature' - Push to branch:
git push origin feature-name - Submit a pull request
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π₯ Authors
- Prashith Shetty - Initial work - [GitHub Profile]
π Acknowledgments
- Google Gemini AI for content generation
- Azure Cognitive Services for speech processing
- Firebase for authentication
- MongoDB for data storage
- React and Flask communities for excellent frameworks
π Support
For support and questions:
- Create an issue in the repository
- Check the documentation in the
docs/folder - Review the API reference for technical details
Able-D - Making education accessible for everyone. π