Android application to help students in school.
Application is built with Kotlin language and it's using following technologies:
- Navigation component (Jetpack navigation)
- Kotlin coroutines
- View binding
- LiveData
- ViewModel
- Room
Application stores student's subjects and grades in a database. It simplifies grade average calculation and it contains functionality where students can set remainder for upcoming tests.
Subject creation is simplified and user friendly because student can include grades he already got. Grades can be added with simple two step process, and deleted individually for every subject.
Grader uses MVVM architecture.
Underlaying layer consists of Room database with two tables for storing subjects and grades.
Through the repository, the application retrieves data into the ViewModel class which is connected to the corresponding fragment. The repository layer only communicates with the Room database, or in other words, it has a single source of truth.
The application utilizes LiveData class through which it observes changes in the database layer and acts accordingly.
Navigation of the Grader application is handled with Navigation Component. Every screen is represented by the corresponding fragment which is connected with other fragments through navigation graph. Navigation graph is, in this case, a set of fragments. It is a resource file containing all destinations and actions.
Application is available on play store: Play store link