https://github.com/mubaraknative/diary-notes-app
This Simple Todo app showcases the Modern Android Development and best practices
https://github.com/mubaraknative/diary-notes-app
android-architecture-components datastore-android diary-application hilt-dependency-injection-android mvvm-architecture notes-app room-persistence-library
Last synced: 4 months ago
JSON representation
This Simple Todo app showcases the Modern Android Development and best practices
- Host: GitHub
- URL: https://github.com/mubaraknative/diary-notes-app
- Owner: MubarakNative
- License: gpl-3.0
- Created: 2024-02-29T10:29:06.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-12T04:54:38.000Z (about 1 year ago)
- Last Synced: 2024-04-12T12:19:55.075Z (about 1 year ago)
- Topics: android-architecture-components, datastore-android, diary-application, hilt-dependency-injection-android, mvvm-architecture, notes-app, room-persistence-library
- Language: Kotlin
- Homepage:
- Size: 3.16 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
## Diary - Simple Note-taking Android App
### The goal of creating this project is to stay up to date with modern android development.

This App will build on
Android `Views` (XML).
`Room` database for local db.
`Preference Datastore` for storing user preference.
`Dagger Hilt` for Dependency Injection.
`Navigation Component` to navigate between fragments.
Reactive Ui using Kotlin Flows and Coroutines.
Implemented Settings using the `PreferenceSettingCompat` library.
### Note 👀
_About this Project_
This project aims to showcase the modern android architecture to build clean, maintainable and scalable android app
1. Layered Architecture
2. Structuring Package's for Clean Architecture
3. Per Screen ViewModel for Ui related logic
Kotlin Coroutines & Flows for Reactive UI, and Asynchronous Programming.
### This Project also include unit testing, to ensure our code works properly as intended.

**Differences**
In this project you will find two more branches named `Improvement`, and a `features`
features branch is used to add new features to this project. The improvement branch is used to improve the existing features.### Features ✅
The main features of this app
- [x] CRUD for notes.
- [x] Archive and Delete notes.
- [x] Search note through Room FTS.
- [x] Dynamic theme Android 12+.
- [x] The dark theme and light theme control through settings.
- [x] Edge to Edge.
_And other Miscellaneous features..._
### Improvements 🚀
This app is currently in development. New features and improvements might be added. Some important features you can expect include 🚧
- [ ] Reminder's with Notification.
- [ ] Sorting and filtering the notes and some others.
- [x] Probably i can switch views to compose (Migrating toward to compose Visit: [Diary in Compose](https://github.com/MubarakNative/Diary-notes-app-compose)).
### Contribution 🤝
If you would like to contribute to this project, you can do it. As I already mentioned,
this project primarily focuses on architecture use Layered Architecture and SOLID principles.
All features and improvements should be committed to respective branches, not directly to the main.