Clock - Google Play
Clock combines all of the functionality you need into one simple, beautiful application.
- Set alarms with customized title, color and music
- Run stopwatch and never miss a lap
- Add timers with custom titles and duration to make chores a little easier
- Keep track of time around the world using the World Clock
- Wake up on animated colorful music that match your alarm color
- Light / Dark theme support
- Jetpack Compose - Declarative UI Framework
- Material You - Design System
- Splash Screen - Newly introduced splash screen API
- Coroutines - Asynchronous Programming
- Kotlin Serlization - Kotlin Multiplatform Serialization
- Room - Local Database
- Hilt - Dependency Injection
- Timer - Stopwatch & Timer features
- JUnit - Unit Testing
- Truth - Fluent Assertions
- Mokk - Mocking
- Robolectric - Run android unit test inside JVM
-
- :app - Application main activity and dependency injection
- :buildSrc - Manage application dependencies
- :database - Contains database, DTOs (Data Transfer Object) & DAOs
- :common - Provide common shared ui & utilities
- :feature_alarm - Provide alarm feature
- :feature_clock - Provide clock feature
- :feature_stopwatch - Provide stopwatch feature
- :feature_timer - Provide timer feature
- each module from above contains its own layers
- data : contains Mapper, Data sources and Repository Implementation
- domain : Business layer that contains Repository interfaces and Models (Entities)
- presentation : UI related code
-
MVI - Model-View-Intent design pattern