MergeCore is a comprehensive Android application designed to revolutionize computer science education through AI-powered learning, curated content management, and an intuitive user experience.
- π― Curated Learning Materials - Access expert-created content on CS fundamentals
- π€ AI Voice Assistant - Get instant answers with natural language processing
- π Organized Content - Browse by categories, search, and bookmark favorites
- π Dark/Light Mode - Study comfortably in any environment
- π± Offline Access - Download materials for learning on the go
- π¨ Modern UI - Beautiful, intuitive interface built with Material 3
- π€ Content Management - Upload, edit, and delete educational materials
- π Analytics Dashboard - Track user engagement and popular content
- π Secure Access - Role-based authentication with Firebase
- π Multi-format Support - PDFs, videos, articles, and quizzes
- Language: Kotlin
- UI Framework: Jetpack Compose
- Architecture: MVVM (Model-View-ViewModel)
- Min SDK: API 24 (Android 7.0)
- Target SDK: API 34 (Android 14)
- Authentication: Firebase Auth
- Database: Cloud Firestore
- Storage: Firebase Storage
- Analytics: Firebase Analytics
- Crash Reporting: Firebase Crashlytics
- AI Provider: Google Gemini API
- Speech Recognition: Android SpeechRecognizer
- Text-to-Speech: Android TTS Engine
- Navigation: Jetpack Navigation Compose
- Image Loading: Coil
- Networking: Retrofit
- Coroutines: Kotlin Coroutines
- Dependency Injection: Hilt (optional)
app/
βββ src/main/
β βββ java/com/mastercs/fundamentals/
β β βββ data/
β β β βββ models/ # Data classes
β β β βββ repository/ # Data layer
β β β βββ remote/ # API services
β β βββ ui/
β β β βββ auth/ # Login/Register screens
β β β βββ admin/ # Admin dashboard & CMS
β β β βββ student/ # Student learning interface
β β β βββ assistant/ # AI voice assistant
β β β βββ components/ # Reusable UI components
β β β βββ theme/ # App theming
β β βββ viewmodel/ # ViewModels
β β βββ utils/ # Utility classes
β β βββ MainActivity.kt
β βββ res/ # Resources
βββ build.gradle.kts
- Android Studio Hedgehog (2023.1.1) or later
- JDK 17
- Firebase account
- Google Gemini API key
-
Clone or create the project
# Follow instructions in QUICK_START.md -
Configure Firebase
- Create Firebase project
- Add Android app
- Download
google-services.jsontoapp/directory - Enable Authentication, Firestore, and Storage
-
Add API Key
- Create
local.propertiesin project root - Add:
GEMINI_API_KEY=your_api_key_here
- Create
-
Sync and Build
./gradlew build
-
Run the app
- Connect device or start emulator
- Click Run in Android Studio
For detailed setup instructions, see QUICK_START.md
A ready-to-open static website is now included under website/. It presents attractive simulated Android app screens for CodeCore in the browser.
open website/index.html
# or
python3 -m http.server 8000Then open http://localhost:8000/website/ in your browser.
| Document | Description |
|---|---|
| IMPLEMENTATION_PLAN.md | Comprehensive 11-week development roadmap |
| ARCHITECTURE.md | System architecture and technical design |
| DEPLOYMENT_GUIDE.md | Step-by-step Play Store deployment |
| QUICK_START.md | Immediate setup and first steps |
- User authentication system
- Role-based access (Admin/Student)
- Firebase integration
- Admin dashboard
- Upload/edit/delete materials
- Category management
- Browse and search materials
- Material viewer
- Bookmarks and favorites
- Gemini API integration
- Speech recognition
- Text-to-speech
- Chat interface
- Dark/Light theme
- Animations and transitions
- Responsive design
- Unit and integration tests
- Performance optimization
- Bug fixes
- Play Store preparation
- Security audit
- Release and monitoring
- β Firebase Authentication with email/password
- β Role-based access control
- β Firestore security rules
- β API key protection (BuildConfig)
- β ProGuard code obfuscation
- β Encrypted SharedPreferences
- β HTTPS-only network calls
# Run unit tests
./gradlew test
# Run instrumentation tests
./gradlew connectedAndroidTest
# Run all tests
./gradlew testDebugUnitTest connectedDebugAndroidTest- App size: < 50 MB
- Cold start: < 2 seconds
- Crash rate: < 1%
- ANR rate: < 0.5%
- Memory usage: < 200 MB
Currently supports:
- English (US)
Planned:
- Spanish
- Hindi
- French
- Phones: Android 7.0+ (API 24+)
- Tablets: 7" and 10" tablets
- Screen sizes: Small to Extra Large
- Orientations: Portrait and Landscape
This is a proprietary project. For internal development team only.
- Follow Kotlin coding conventions
- Write meaningful commit messages
- Create feature branches
- Test before pushing
- Update documentation
Proprietary - All rights reserved
- Developer: [Your Name]
- Designer: [Designer Name]
- Project Manager: [PM Name]
For issues or questions:
- Email: [email protected]
- Documentation: See docs folder
- Firebase Console: [Your Firebase Project]
- β User authentication
- β Content management
- β AI voice assistant
- β Dark/Light mode
- π Quiz system
- π Achievement badges
- π Progress tracking
- π Push notifications
- π₯ Social features (study groups)
- π¬ Discussion forums
- πΉ Live sessions
- π° Premium subscription
- 100+ downloads
- 4.0+ star rating
- 30% D1 retention
- <1% crash rate
- 1,000+ active users
- 4.5+ star rating
- 50% D7 retention
- Featured in Play Store
Build fails:
./gradlew clean
./gradlew build --refresh-dependenciesFirebase not working:
- Verify
google-services.jsonis inapp/directory - Check Firebase project configuration
- Ensure SHA-1 fingerprint is added
API key issues:
- Check
local.propertieshas correct key - Sync Gradle files
- Rebuild project
- Android Developer Guide
- Jetpack Compose Tutorial
- Firebase Documentation
- Kotlin Coroutines Guide
- Material Design 3
- Planning complete
- Development in progress
- Testing phase
- Beta release
- Production release
- Initial release
- Core features implementation
- Play Store launch
Built with β€οΈ for CS learners worldwide
For detailed implementation instructions, start with QUICK_START.md