Go to Code Documentation
Download latest APK - v1.1.0-beta for debugging
Hi! DiaryMoodApp is an app to store your notes and track your mood.
- You can add note, choose your mood from a list by simply left/right swiping an emoji, set a custom date and time of current note by clicking on a calendar icon at the Top bar (and restore this date).
- Date filtering for your diaries (notes) is available!
- Using a side menu, you can change to statistics tab or easily erase all your diaries or log out!
- Statistics screen displays your tracked mood as a Line Chart. You can also filter statistics by date, in this case it will be displayed as a Column Chart.
- Settings tab allows you to change app theme mode, delete all added diaries and sign out.
- Each note is synchronised with cloud NoSQL MongoDB (not crypted 😖)
- Images are uploaded to Firebase storage (not cryptedx2 😖)
- Application allows users to simply log in using their Google account.
The application is developed in the Kotlin language using the latest technology and recommendations by Google. The application is based on a multi-modular MVVM architecture according to SOLID principles using Koin (replaced Dagger Hilt in c4653c6) for dependency injection. The UI is implemented using Jetpack Compose and Material Design 3 design system. Kotlin Coroutines and Flows are used to work with asynchronous tasks.
To build this app on your own PC, you need to create a file core/util/src/main/java/com/xdiach/util/PrivateConstants.kt
with the following content:
object PrivateConstants {
const val APP_ID = "<Mongo Atlas APP ID>"
const val CLIENT_ID = "<OAuth Google Cloud Key>"
}
Create a project in MongoDB
Get OAuth Google Cloud key
Project uses the following libraries: