📝 Notify is a simple note application which is build with Modern Android development tools.
This project showcases Good implementation of Android with proper architecture design.
Made with ♥ for all Android Developers
Notify focuses on the following key things:
- Single Activity Design
- Offline Capability - Notes
✈️ - Clean and Simple Material UI 🎨
- Dark mode 🌗
- Back/Restore feature 👀
- Jetpack Compose UI
- Tests
- Kotlin - First class and official programming language for Android development.
- Coroutines - For asynchronous calls and tasks to utilize threads.
- Jetpack Compose UI Toolkit - Modern UI development toolkit.
- Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
- LiveData - Data objects that notify views when the underlying database changes.
- ViewModel - Stores UI-related data that isn't destroyed on UI changes.
- Room - Room is an Android library which is an ORM that wraps Android's native SQLite database.
- StateFlow and SharedFlow - StateFlow and SharedFlow are Flow APIs that enable flows to optimally emit state updates and emit values to multiple consumers.
- Dependency Injection -
- Hilt-Dagger - A standard way to incorporate Dagger dependency injection into an Android application.
- Hilt-ViewModel - DI for injecting
ViewModel
.
- Material Components for Android - Modular and customizable Material Design UI components for Android.
This app uses MVVM(Model View View-Model) architecture.