MyNotes is a Demo app which demonstrates the use of MVVM architecture, Dependency Injection, Navigation Component Library, Room Database, LiveData, Coroutines and other Modern Android Development Practices.
The project uses Hilt for Dependency Injection ๐ If you are a begginer with
MVVM then I highly recommend to start with Manual Dependency injection method and then move to Hilt, see branch di-ManualInjection
for implementation
- Kotlin - Programming Language Used in the app.
- Navigation Component Library - For setting up app's navigation.
- Room Database - For persisting data/tasks in device's local storage.
- Kotlin Coroutines - To execute code asynchronously.
- Flow - In the simplest of ways consider this as a pipe through which the data flows in the app, by using flow a developer doesn't need to refresh variables which contain data.
- LiveData - Used to observe the data on the UI layer
- ViewModel - To Store UI-related data that isnt destroyed on UI changes.
- RecylerView - To Display data in a list format.
This project is made for educational purposes so don't be shy of asking any questions about any concept from the app or about android developement.
Do open issues and raise PRs to I'll try my best to assist you. ๐
Don't let yourself get caught in the decision paralysis, just start learning and building. ๐
DM me at ๐
- Twitter: @avidRaghav
- LinkedIn: Raghav Aggarwal