This repository hosts the Dyslexia Learning Assistant for Sinhala Children, a mobile app designed to help Sinhala-speaking children with dyslexia improve their writing skills. The app addresses the unique challenges of Sinhala’s complex script through innovative tools like Text-to-Speech (TTS) for pronunciation, machine-learning-powered handwriting recognition, and real-time feedback. Tailored exercises, guided by input from teachers, parents, and specialists, provide a personalized learning experience focused on enhancing writing skills.
- Authentication: Secure login and registration with Firebase.
- Interactive Exercises:
- Text-to-Speech (TTS) for Sinhala word pronunciation.
- Handwriting recognition with real-time feedback.
- Sinhala letter and word practice (single letter, two-letter words, three-letter words).
- Progress Tracking: User activity and progress displayed on an interactive dashboard.
- Personalized Feedback:
- Mistake identification and corrections.
- Suggestions for alternative words.
- User-Friendly Interface: Simple navigation tailored for children and parents.
- Mobile Framework: Flutter
- Backend: Node.js APIs
- Database: MongoDB
- Authentication: Firebase
- Machine Learning: TensorFlow with CNN integration for Sinhala handwriting recognition
The mobile app communicates with a dedicated backend server for storing data, processing exercises, and managing user progress.
Find the backend repository here: Dyslexia Backend Repository
Clone the frontend (mobile app) repository:
git https://github.com/A-Samod/dyslexia-app-v2.git
Clone the backend API repository:
git https://github.com/A-Samod/dyslexia-app-backend-v2.git
Backend Repo
- Navigate to the backend directory:
cd dyslexia-backend
- Install dependencies
npm install
- Set up environment variables
- Create a .env file in the root directory of the backend project.
- Add necessary configurations: MongoDB connection string and Firebase credentials.
- Start the backend server:
npm start
The backend should now be running on http://localhost:4000 (or another configured port).
- Navigate to the mobile app directory:
cd dyslexia-app-v2
- Install dependencies
flutter pub get
- Set up Firebase:
- Add your Firebase project configuration to the app (e.g., google-services.json for Android and GoogleService-Info.plist for iOS).
- Ensure the backend is running.
- Start the Flutter app:
flutter run
- Test connectivity:
- The app communicates with the backend via the configured APIs.
- Ensure the backend server and mobile app are running simultaneously for proper functionality.
- Login & Register Screen
- Home Screen
- Writing Screen
- Completion Screen
- Profile Screen
- Dashboard Screen
- Login or Register: Users (parents or children) can log in or register for an account.
- Home Screen: Navigate through the app features and start exercises.
- Writing Exercise:
- Listen to a word via TTS.
- Write the word directly on the mobile screen.
- Receive real-time feedback on mistakes.
- Completion Screen: View success messages and suggestions after completing a session.
- Dashboard: Track performance, time spent, and progress over time.