Skip to content

Pranav0931/EduApp

Repository files navigation

EduApp πŸ“šπŸŽ“

AI-Powered Inclusive Learning Platform for All Students

Android Kotlin Min SDK Target SDK License

Making education accessible to everyone β€” Blind, Deaf, Low-Vision, Slow Learners & Regular Students


🌟 About EduApp

EduApp is an Android-based inclusive learning application built with accessibility as its core foundation, not an afterthought. Developed after extensive research with blind and deaf students at Anandwan, Warora, this app addresses real challenges students face while accessing digital learning tools.

Our Mission: Make quality education accessible to every student, regardless of their abilities.


🎨 Modern UI Design (v2.0)

✨ What's New

  • Modern Gradient UI β€” Beautiful color gradients throughout the app
  • Large Accessible Cards β€” Easy-to-tap mode selection cards
  • Colorful Subject Cards β€” Each subject has unique gradient colors
  • Enhanced Audio Player β€” Gradient background with large playback controls
  • TalkBack Voice Guidance β€” Complete voice feedback system for blind users

πŸ“± Screenshots

Mode Selection Home Dashboard Audio Player
Choose Audio/Video mode Start Learning, Quiz, Progress Modern gradient player

β™Ώ Accessibility-First Architecture

πŸŽ™οΈ TalkBack Voice Guidance System (NEW!)

Feature Description
VoiceGuidanceManager Comprehensive voice announcements for all interactions
Screen Announcements Automatic voice feedback when navigating screens
Button Press Feedback Voice confirmation for every button tap
Haptic Patterns Different vibration patterns for different actions
Speed & Pitch Control Customize voice speed (0.5x-2.0x) and pitch
Focus Announcements Voice reads focused element descriptions

πŸ‘οΈ For Blind Students

Feature Description
OCR Engine ML Kit-powered camera-to-text β€” point at any text and hear it read aloud
Text-to-Speech Natural voice synthesis with adjustable speed (0.5x - 2.0x)
Voice Navigation Complete hands-free control with voice commands
Haptic Feedback Tactile responses for navigation, success, and errors
TalkBack Optimized Full compatibility with Android's screen reader
Audio Descriptions Detailed audio context for all visual content

🦻 For Deaf Students

Feature Description
Auto Subtitles Real-time caption generation for all audio content
Visual Alerts Color-coded pop-up notifications instead of sounds
Flash & Vibration Screen flash and haptic alerts for important events
Speaker Identification Subtitles show who is speaking
Sound Effect Labels Visual indicators for music, bells, and sound effects

πŸ‘“ For Low-Vision Users

Feature Description
High Contrast Mode Maximum contrast with bold black text on white
Dynamic Font Scaling Text sizes from 1.0x to 1.5x system default
Bold Text Mode Enhanced text weight for better readability
Large Touch Targets Minimum 48dp-56dp touch areas
Inverted Colors Optional dark-on-light inversion

πŸ“š For Slow Learners

Feature Description
Adaptive Pacing AI analyzes learning speed and adjusts content delivery
Extended Quiz Time Configurable time multiplier (up to 2x)
Encouragement System Positive reinforcement cards with emojis
Simplified Navigation Reduced UI complexity for easier interaction
Study Analytics Tracks progress and identifies struggling areas
Smart Recommendations AI-generated personalized study suggestions

πŸš€ Key Features

πŸ€– AI-Powered Features

  • Google Gemini Integration β€” Intelligent tutoring and content explanations
  • ML Kit OCR β€” Camera-based text recognition for print materials
  • Adaptive Learning Engine β€” Personalized study recommendations
  • Voice Command Recognition β€” Natural language navigation
  • AI Chat Assistant β€” Floating AI chat accessible from any screen
  • AI Quiz Generation β€” Generate quizzes from any chapter content

πŸ“– Learning Content

  • 6 Subjects: English, Marathi, Mathematics, Science, Hindi, Social Science
  • Multi-format Content: Text, Audio, Video with accessibility layers
  • Chapter-based Learning: Structured curriculum progression
  • Interactive Quizzes: Accessible quiz system with immediate feedback
  • Text Reader: Dedicated reading experience with TTS and adjustable font sizes

πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦ Multi-User Support

  • Student Profiles β€” Individual accessibility preferences saved
  • Parent Dashboard β€” Monitor child's learning progress
  • Offline Mode β€” Core features work without internet

πŸ—οΈ Technical Architecture

Clean Architecture + MVVM

app/
β”œβ”€β”€ data/                    # Data Layer
β”‚   β”œβ”€β”€ local/              
β”‚   β”‚   β”œβ”€β”€ dao/            # Room DAOs (StudyToolsDao, etc.)
β”‚   β”‚   β”œβ”€β”€ entity/         # Database Entities (Flashcard, Bookmark, etc.)
β”‚   β”‚   └── EduAppDatabase.kt
β”‚   β”œβ”€β”€ remote/             # Network APIs
β”‚   └── repository/         # Repository Implementations
β”œβ”€β”€ domain/                  # Domain Layer
β”‚   β”œβ”€β”€ model/              # Business Models (Flashcard, StudyTools, etc.)
β”‚   β”œβ”€β”€ repository/         # Repository Interfaces
β”‚   └── usecase/            # Use Cases
β”œβ”€β”€ accessibility/           # Accessibility Engine
β”‚   β”œβ”€β”€ OCREngine.kt        # ML Kit OCR
β”‚   β”œβ”€β”€ TTSEngine.kt        # Text-to-Speech
β”‚   β”œβ”€β”€ VoiceNavigationManager.kt
β”‚   β”œβ”€β”€ DeafSupportManager.kt
β”‚   └── AdaptiveStudyEngine.kt
β”œβ”€β”€ presentation/            # Presentation Layer (MVVM)
β”‚   β”œβ”€β”€ base/               # Base classes (BaseActivity, BaseFragment)
β”‚   β”œβ”€β”€ book/               # Book list feature
β”‚   β”œβ”€β”€ player/             # Audio/Video players
β”‚   └── ...                 # Other features
β”œβ”€β”€ core/                    # Core Utilities
β”‚   β”œβ”€β”€ accessibility/      # ScreenReaderHelper, EduAccessibilityManager
β”‚   β”œβ”€β”€ ui/                 # UiState, StateView, VisualFeedbackView
β”‚   β”œβ”€β”€ di/                 # Hilt Dependency Injection
β”‚   └── logging/            # CrashlyticsTree
└── utils/                   # Helper Classes
    β”œβ”€β”€ LocaleHelper.kt     # Language/Locale management
    β”œβ”€β”€ Constants.kt        # App constants
    └── PreferenceManager.kt

πŸ› οΈ Tech Stack

Category Technology
Language Kotlin 1.9.24
UI Framework Android Views + DataBinding
Architecture Clean Architecture + MVVM
Dependency Injection Hilt 2.51.1
Database Room 2.6.1
Networking Retrofit 2.11 + OkHttp 4.12
AI/ML Google Gemini AI, ML Kit
Media ExoPlayer 1.2.1
Async Kotlin Coroutines + Flow
Navigation Jetpack Navigation 2.8.5
Analytics Firebase Crashlytics
Security AndroidX Security Crypto, Tink
Image Loading Coil 2.6

πŸ“Š Impact & Validation

92% Satisfaction Real Testing

  • βœ… Field tested with blind and deaf students at Anandwan
  • βœ… 92% of participants would recommend the app
  • βœ… Validated by teachers and accessibility experts
  • βœ… Positive feedback on simplicity and usability

πŸ†• Recent Updates (v2.1)

✨ New Features

  • πŸ“š Study Tools Suite β€” Complete study companion with Flashcards, Bookmarks, Highlights, Study Notes, and Homework Reminders
  • πŸ—‚οΈ Flashcard System β€” Spaced repetition learning with customizable decks, TTS support, and progress tracking
  • πŸ“– Bookmark & Highlight β€” Save important content with color-coded highlights and personal notes
  • πŸ“ Study Notes β€” Create rich text notes with voice note support and chapter/book associations
  • ⏰ Homework Reminders β€” Track assignments with due dates, priorities, and smart notifications
  • 🌐 Hindi Localization β€” Complete Hindi language support for all features (350+ strings)
  • πŸ”„ Visual Feedback System β€” Enhanced visual alerts and subtitles for deaf users
  • β™Ώ Screen Reader Helper β€” Optimized TalkBack announcements with Hindi + English support

πŸ› οΈ Technical Improvements

  • UiState Architecture β€” Unified state management with Loading, Success, Error, and Empty states
  • StateView Component β€” Reusable UI component for consistent state display across screens
  • VisualFeedbackView β€” Animated visual alerts and subtitle overlays for deaf users
  • Navigation Animations β€” Smooth enter/exit transitions for better UX
  • Room Database Extensions β€” New DAOs and entities for study tools (Flashcards, Bookmarks, Highlights, Notes, Reminders)
  • LocaleHelper β€” Runtime language switching with proper configuration handling
  • Premium Drawables β€” Glassmorphism backgrounds, gradient headers, and shimmer loading placeholders

πŸ“Œ Previous Updates (v2.0)

✨ Features

  • AI Chat Floating Button β€” Access the AI assistant from any screen via the floating action button
  • Quiz System β€” Complete quiz browsing with AI-generated quizzes from chapter content
  • Text Reader β€” Dedicated reader with adjustable text sizes and read-aloud functionality
  • Profile Sub-screens β€” Edit profile, view badges, and detailed learning statistics
  • Settings Sub-screens β€” Dedicated accessibility settings, notification preferences, and about page
  • Improved Navigation β€” All navigation paths properly connected and verified

πŸ› οΈ Technical Improvements

  • Fixed navigation graph paths for media players
  • Created all missing fragments for complete user flows
  • Added haptic feedback throughout the app
  • Improved accessibility mode integration across all screens
  • Enhanced quiz adapter with AI quiz badges and difficulty chips

οΏ½πŸš€ Getting Started

Prerequisites

  • Android Studio Hedgehog (2023.1.1) or later
  • JDK 17
  • Android SDK 35
  • Min Android 7.0 (API 24)

Setup Instructions

  1. Clone the repository

    git clone https://github.com/Pranav0931/EduApp.git
    cd EduApp
  2. Create local.properties in the root directory:

    sdk.dir=YOUR_ANDROID_SDK_PATH
    
    # API Keys (get from respective platforms)
    GEMINI_API_KEY=your_gemini_api_key
    SUPABASE_URL=your_supabase_url
    SUPABASE_ANON_KEY=your_supabase_key
  3. Add google-services.json

    • Create a Firebase project
    • Download google-services.json
    • Place in app/ directory
  4. Build & Run

    ./gradlew assembleDevDebug

    Or open in Android Studio and click Run ▢️


πŸ“± Voice Commands Reference

Command Action
"Go home" / "Main menu" Navigate to home screen
"Go back" Return to previous screen
"Read aloud" / "Speak" Read current content
"Stop reading" Stop TTS playback
"Next chapter" Go to next content
"Previous chapter" Go to previous content
"Start quiz" Begin quiz mode
"Select option [1-4]" Choose quiz answer
"Help" Get available commands
"Slower" / "Faster" Adjust speech rate

🀝 Contributing

We welcome contributions! EduApp is open for collaboration in:

  • πŸ”§ Development β€” New features, bug fixes, optimizations
  • 🎨 Design β€” UI/UX improvements, accessibility enhancements
  • πŸ“ Content β€” Educational materials, translations
  • πŸ§ͺ Testing β€” Accessibility testing, device testing
  • πŸ“š Documentation β€” Guides, tutorials, API docs

How to Contribute

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License β€” see the LICENSE file for details.


πŸ‘€ Author

Pranav Tapdiya
LinkedIn GitHub


πŸ”— Links


⭐ Star this repository if you believe in inclusive technology!

"Technology should empower everyone, not exclude anyone."

About

πŸ“š AI-powered inclusive learning app for Blind, Deaf, Low-Vision & Slow Learner students. Features ML Kit OCR, Text-to-Speech, Voice Navigation, Auto-Subtitles, Visual Alerts & Adaptive Learning. Built with Kotlin, Clean Architecture, Hilt, Room & Gemini AI.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors