Skip to content

App tp display notes as a dairy with jetpack compose

Notifications You must be signed in to change notification settings

Bikcodeh/notes_compose

Repository files navigation

kotlin Android API

Notes compose

⭐ Features

  • Display notes
  • Display singular note
  • Edit or delete singular note
  • Delete all notes
  • Login
  • Filter
  • Local persistance
  • Dark theme
  • Modules
  • Upload images from gallery

πŸƒ For run the app just clone the repository and execute the app on Android Studio.

Setup environment

Fill out in your local.properties the variables:

APP_ID = "Your custom app id from Mongo DB"
CLIENT_ID = "Your custom cliente id from Google cloud"

πŸ“‘ Requirements to install the app

  • Use phones with Android Api 24+
πŸ“‚ This application was developed using Kotlin and uses the following components:
  • Kotlin
  • Jetpack compose
  • Coroutines
  • Firebase storage
  • Firebase authentication
  • Mongo Db - Realm sync
  • Clean architecture
  • Modules (Domain, Data, Feature, Core)
  • MVVM
  • Repository pattern
  • StateFlow
  • Room database
  • Flow
  • Mutable State
  • Jetpack navigation compose
  • Dagger Hilt (Dependency injection)
  • Coil (Load images)

Structure per module

🌞 Screenshots Light theme

Splash Sign In Home Write Write with Gallery
Drawer Empty Sign out dialog Delete single dialog Delete all dialog
Date picker dialog Date time dialog

🌚 Screenshots Dark Mode

Splash Sign In Home Write Write with Gallery
Drawer Empty Sign out dialog Delete single dialog Delete all dialog
Date picker dialog Date time dialog

🎯 Architecture

The application is built using Clean Architeture pattern based on Architecture Components on Android. The application is divided into three layers:

Clean Arquitecture

  • Domain: This layer contains the business logic of the application, here we define the data models and the use cases.
  • Data: This layer contains the data layer of the application. It contains the database, network and the repository implementation.
  • Presentation: This layer contains the presentation layer of the application.

License

MIT

Bikcodeh