Courses Tracker is an Android application 📱 built to help instructors🧑🏫 create & track all of thier courses - progress, students, how much they paid, and many more…
You can Install Courses Tracker app from below 👇
- Create Courses & check how much students should pay💵.
- Track the progress of each student🧑🎓.
- Clean and Simple Material UI.
- It supports dark theme too 🌗.
- Kotlin - First class and official programming language for Android development.
- Coroutines - For asynchronous and more..
- Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
- Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
- Jetpack Compose - Android’s recommended modern toolkit for building native UI.
- Compose Destinations - A KSP library that processes annotations and generates code that uses Official Jetpack Compose Navigation under the hood. It hides the complex, non-type-safe and boilerplate code you would have to write otherwise.
- Dependency Injection -
- Hilt-Dagger - Standard library to incorporate Dagger dependency injection into an Android application.
- Hilt-ViewModel - DI for injecting
ViewModel
.
- Material3 - The latest version of Google’s open-source design system..
- Gradle Kotlin DSL - For writing Gradle build scripts using Kotlin.
com.courses.tracker # Root Package
.
├── data # For data handling.
│ ├── local # Local Persistence Database. Room (SQLite) database
| │ └── entity # Data Access Object for Room
| ├── mapper # Convert domain model to Room Dao and vise versa
│ └── repository # Single source of data.
├── di # Dependency Injection
│
├── domain
| ├── model # Model classes
| └── repository # Interface define methods to be implemented in data layer.
|
├── presentation
│ ├── course_listings # Classes related to courses screen
│ └── student_infos # Classes related to students screen
│
├── ui/theme # Everything about Compose theme
|
└── utils # Utility Classes / Kotlin extensions
This app uses MVI (Model View Intent) architecture.
Have any questions, doubts or want to present your opinions, views? You're always welcome. You can start discussions.
If you need any help, you can connect with me on Linkedin.