A modern, clean, and efficient Android Notes application built with the latest Jetpack libraries. This project demonstrates best practices in Android development, including Reactive UI, Dependency Injection, and local data persistence.
demo_video.mp4
- CRUD Operations: Create, read, update, and delete notes seamlessly.
- Dynamic Theming: Support for both Dark and Light modes with Material 3.
- Responsive UI: Built entirely with Jetpack Compose for a fluid user experience.
- Persistence: Uses Room database for local storage, ensuring your notes are safe even offline.
- Modern Architecture: Implements MVVM pattern with Hilt for dependency injection and StateFlow for reactive data updates.
- Splash Screen: Integration with the Android 12+ Splash Screen API.
- UI: Jetpack Compose
- Theming: Material 3
- Navigation: Jetpack Navigation
- DI: Hilt
- Database: Room
- Async: Kotlin Coroutines & Flow
- Language: Kotlin
- Reactive UI: StateFlow
- Code Architecture: Pure MVVM
com.ratanapps.notesapp/
├── data/ # Data layer: Repository, Room Database, DAOs, and Entities
├── di/ # Dependency Injection: Hilt Modules
├── ui/ # UI layer
│ ├── notes/
│ │ ├── activity/ # Main Activity
│ │ ├── features/ # Feature-based UI (Home, Create)
│ │ ├── navigation/ # NavHost and Screen definitions
│ │ └── util/ # Compose-specific utilities
│ └── theme/ # Material 3 Theme definitions
└── utils/ # General helper classes and constants
- Clone the repository.
- Open the project in Android Studio (Ladybug or newer).
- Sync the project with Gradle files.
- Run the app on an emulator or physical device (API 24+).
This project is open-source and available under the MIT License.