This project demonstrates step by step Android development principles and best practices. It's built with Kotlin, adhering to the Waterfall development model. To ensure clean and maintainable code, it leverages Clean Architecture, MVVM design pattern and Hilt dependency injection. Notes are efficiently stored and retrieved by using Room database while Coroutine and Flow effectively manage concurrent operations. For developing user interface, it utilizes Jetpack Compose. To guaranty the code quality and correctness, the project incorporates Unit test for data layer APIs and use cases, Instrumentation test for UI components, and Integration test to verify the entire app flow.
- Create note
- Edit note
- Delete note
- Show single note in one screen
- Show all the notes in a list (with last edited item in the top)
- Adding empty Android Studio project
- Configured Hilt dependency injection library
- Completed data layer implementation with unit test case
- Completed domain layer implementation with unit test cases
- Note list screen implementation done
- Add or edit note screen implementation done
- Show note screen implementation done
- Changed colors for some components & applied proguard for release build
- Completed writing instrumentation tests for all the UI components
- Completed writing Integration tests