An Interactive Learning Mobile Application for mastering Kotlin and Android Development through curated flashcard-style content, comprehensive quizzes, and progress tracking. Built with modern Android development practices using Clean Architecture, MVI pattern, and Jetpack Compose.
Onboarding | Skills Dashboard | Skill Detail | Topic Learning |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Topic Completed | Practice Quiz | Result Statistics | Profile & Settings |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
- Diverse Material Types:
- ๐ TEXT: Summarized knowledge in flashcard format
- ๐ MARKDOWN: Formatted technical documentation
- ๐ป CODE: Interactive Kotlin/Android code examples
- ๐ผ๏ธ IMAGE: Visual diagrams and illustrations
- ๐ฅ VIDEO: Tutorial and demonstration content
- Curated Content: Focus on Kotlin and Android application development
- ๐ MCQ: Multiple Choice Questions
- โ๏ธ FILL_BLANK: Code completion challenges
- Difficulty-Based Practice: Adaptive difficulty levels
- Timed Quizzes: Built-in timer for skill assessment
- Detailed Results: Complete answers with explanations
- Standalone Practice Bundles: Independent quiz collections
- Skill Progress: Visual progress indicators for each skill
- Topic Completion: Track materials completed per topic
- Learning Statistics: Comprehensive learning analytics
- Quiz Performance: Detailed quiz activity and results history
- Achievement System: Progress milestones and achievements
- Material Design 3: Latest design system implementation
- Dynamic Theming: Multiple color schemes with system preference
- Dark/Light Mode: Seamless theme switching
- Responsive Design: Optimized for various screen sizes
- Smooth Navigation: Intuitive app flow and transitions
๐ฏ Skills (Kotlin & Android Development)
โโโ ๐ Topics (Specific areas like "Coroutines", "Compose UI")
โ โโโ ๐ Materials (Text, Code, Video, Images)
โ โโโ ๐งฉ Practice Bundle (Topic-specific quizzes)
โโโ ๐ Progress Tracking (Completion percentage)
๐ฎ Practice Bundles
โโโ ๐ MCQ Questions
โโโ ๐ป Code Challenges
โโโ ๐ฎ Output Prediction
โโโ โ๏ธ Fill in the Blanks
โโโ โฑ๏ธ Timer System
โโโ ๐ Results & Explanations
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Presentation Layer โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ ๐ฑ Compose UI โ โ ๐ฏ ViewModels โ โ ๐งญ Navigation โ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Domain Layer โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ ๐ Use Cases โ โ ๐๏ธ Repository โ โ ๐ Models โ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Data Layer โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ ๐ Remote API โ โ ๐พ Local DB โ โ ๐ง Data Sourcesโ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ฆ JetCode/
โโโ ๐ฑ app/ # Main application module
โโโ ๐ฏ features/ # Feature modules
โ โโโ learning/ # Skills, Topics, Materials
โ โโโ onboarding/ # User onboarding flow
โ โโโ practice/ # Quiz and practice system
โ โโโ profile/ # User profile & statistics
โโโ ๐๏ธ core/ # Core shared modules
โ โโโ analytics/ # Learning analytics
โ โโโ common/ # Shared utilities
โ โโโ designsystem/ # Material Design 3 theming
โ โโโ network/ # API communication
โ โโโ ui/ # Shared UI components
โโโ ๐พ data/ # Data layer modules
โ โโโ database/ # Local caching (Room)
โ โโโ repository/ # Data management
โโโ ๐๏ธ domain/ # Business logic & models
// Core content hierarchy
Skill โ Topic โ Material
โ PracticeSet โ Quiz
// Material types: TEXT, MARKDOWN, CODE, IMAGE, VIDEO
// Quiz types: MCQ, CODE_CHALLENGE, OUTPUT_PREDICTION, FILL_BLANK
// Difficulty levels: Beginner, Intermediate, Advanced
- ๐๏ธ Clean Architecture: Clear separation of concerns
- ๐ MVI Pattern: Unidirectional data flow
- ๐งฉ Multi-module: Scalable architecture
- ๐ Koin: Dependency injection
- ๐จ Jetpack Compose: Modern declarative UI
- ๐งญ Navigation Compose: Type-safe navigation
- ๐จ Material Design 3: Latest design system
- ๐ Dynamic Theming: Color schemes & dark/light mode
- ๐ผ๏ธ Coil: Efficient image loading
- ๐ Room Database: Local data persistence
- ๐พ DataStore: User preferences management
- ๐ Ktor Client: HTTP client for content loading
- ๐ Kotlinx Serialization: Type-safe JSON handling
- ๐ Kotlin Coroutines: Asynchronous programming
- ๐ Kotlin Flow: Reactive data streams
- โ๏ธ WorkManager: Background content sync
- ๐งช JUnit 4: Unit testing framework
- ๐ญ MockK: Kotlin mocking library
- ๐งช Compose Testing: UI testing
- ๐ Detekt: Static code analysis
- ๐จ Ktlint: Code formatting
- Android Studio: Flamingo or newer
- JDK: 11 or higher
- Android SDK: API 24+ (Android 7.0)
- Gradle: 8.11.0
-
Clone the repository
git clone https://github.com/yourusername/jetcode.git cd jetcode
-
Open in Android Studio
- Launch Android Studio
- Select "Open an existing project"
- Navigate to the cloned directory
-
Sync and build
./gradlew build
-
Run the application
- Select your device/emulator
- Click "Run" or use
Ctrl+R
(Windows/Linux) /Cmd+R
(Mac)
# Debug build
./gradlew assembleDebug
# Release build
./gradlew assembleRelease
# Run tests
./gradlew test
# Code quality checks
./gradlew detekt ktlintCheck
- Onboarding: Introduction to the learning platform
- Skills Dashboard: Browse available Kotlin/Android skills
- Skill Details: View topics within selected skill
- Topic Learning: Study materials (text, code, videos)
- Practice Quiz: Test knowledge with various quiz types
- Results & Progress: Review performance and track progress
- Profile: View statistics and customize settings
Onboarding โ Skills List โ Skill Detail โ Topic Detail โ Practice
โ โ โ โ
Profile โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ Results
Category | Library | Version | Purpose |
---|---|---|---|
Kotlin | Kotlin | 2.0.21 | Programming language |
Build | AGP | 8.11.0 | Android Gradle Plugin |
UI | Compose BOM | 2024.09.00 | UI toolkit |
Navigation | Navigation Compose | 2.8.0 | App navigation |
DI | Koin | 3.5.6 | Dependency injection |
Network | Ktor | 2.3.12 | HTTP client |
Database | Room | 2.6.1 | Local storage |
Testing | MockK | 1.13.12 | Testing framework |
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Run
./gradlew detekt
for static analysis - Run
./gradlew ktlintCheck
for code formatting - Ensure all tests pass with
./gradlew test
- Follow Kotlin coding conventions
This project is licensed under the MIT License - see the LICENSE file for details.
- ๐ Documentation
- ๐ Report Issues
- ๐ฌ Discussions
โญ Star this repository if it helped you!
Built with โค๏ธ for the Android community