Hi! Days Until is a Modern Android App which displays the days, hours, minutes, and seconds till your event ⏳.
Follows the official Google best practises guidelines:
- Activity Structure: Single Activity Architecture (Jetpack Compose Only App)
- Design Pattern: MVVM (Model-View-ViewModel)
- Modularization: 1 Module
The project structure is organized as follows (seperation of concerns):
app/
src/
main/
java/com/dhaen/daysuntil
ui/
- Contains all UI-related classes and componentspresentation/
- ViewModels for handling UI datamodel/
- Data modelsdata/
- Data management classesdi/
- Dependency Injection class modules
res/
- Resources like layouts, drawables, and strings
test/
- (PLANNED) Unit testing filesandroidTest/
- (PLANNED) Android specific Instrumentation testing files
- MongoDB (Database) - MongoDB offers a nice free tier for BAAS. Easily replace with Room if you prefer.
- Hilt (Dependency Injection) - For a future proof maintainable codebase.
- Compose Navigation - To handle in-app navigation using Jetpack Compose.
- Jetpack Compose - For modern UI development.
- Material 3 - The latest version of Material Design.
- Firebase Crashlytics (Planned) - For crash reporting.
- In-App Updates (Planned) - For updating app code automatically.
The project uses a version catalog file, libs.versions.toml
, to manage all dependencies across the project. This file is a .toml
format that helps manage dependencies and versions in a scalable, organized, and modern way. Learn more here: Migrate to Version Catalogs.
Please feel free to contribute! There are TODO's (see Issues Tab)
This project is licensed under the GPL-3.0 license.