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 detektfor static analysis
- Run ./gradlew ktlintCheckfor 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