DiaryApp

↘️ Deployment

Parameters Value
compileSdk 33
targetSdk 33
minSdk 21
composeVersion 1.4.0
kotlinVersion 1.8.20

The DiaryApp project uses many popular libraries and tools in the Android Ecosystem:

  • Jetpack Compose - modern toolkit for building native Android UI.

  • Android KTX - helps to write more concise, idiomatic Kotlin code.

  • Coroutines and Kotlin Flow - used to manage the local storage i.e. writing to and reading from the database. Coroutines help in managing background threads and reduces the need for callbacks.

  • Material Design 3 - an adaptable system of guidelines, components, and tools that support the best practices of user interface design.

  • Compose Navigation - navigate between composables while taking advantage of the stateful NavController which keeps track of the back stack of composables that make up the screens in your app.

  • Google Accompanist Libraries - these are a collection of extension libraries for Jetpack Compose. DiaryApp specifically uses Accompanist's Pager Library

  • Dagger Hilt - used for Dependency Injection.

  • Coil - an image loading library for Android backed by Kotlin Coroutines

  • SplashScreen API - SplashScreen API lets apps launch with animation, including an into-app motion at launch, a splash screen showing your app icon, and a transition to your app itself.

  • Room persistence library which provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.

  • Mongo - MongoDB is a popular NoSQL database, used in this app for storing and managing data related to diary entries.

  • Firebase Storage - Firebase Cloud Storage is a scalable and reliable cloud storage solution used in the app for storing and retrieving photos associated with diary entries.

  • Firebase Auth - Firebase Authentication provides a secure and easy-to-use authentication system, allowing users to sign in and access their diary entries securely.

  • Max Keppeler's Sheet Compose Dialog - Firebase Authentication provides a secure and easy-to-use authentication system, allowing users to sign in and access their diary entries securely.

  • Stevdza-San's MessageBarCompose - Animated Message Bar UI that can be wrapped around your screen content in order to display Error/Success messages in your app. It is adapted and optimized for use with Compose and Material 3 projects.

  • Stevdza-San's OneTapCompose - Animated Message Bar UI that can be wrapped around your screen content in order to display Error/Success messages in your app. It is adapted and optimized for use with Compose and Material 3 projects.