This is a To-Do Android application developed using Java with MVVM architecture and several key libraries to enhance functionality and maintainability.
Explore the visual charm of the app through these captivating screenshots:
The application follows the MVVM (Model-View-ViewModel) architecture, which separates the user interface logic from the business logic. This design pattern promotes a clean and maintainable codebase by organizing components into three main categories:
- Model: Represents the data and business logic of the application.
- View: Displays the user interface and captures user input.
- ViewModel: Acts as a mediator between the View and the Model, handling user input, updating the UI, and interacting with the data layer.
Dependency injection is crucial for decoupling components and improving testability. Hilt, a dependency injection library for Android, is used to simplify the process of providing dependencies and managing their lifecycle. By using Hilt, the application achieves a modular and scalable architecture.
The app utilizes SQLite as the local database for storing To-Do items. Room, an abstraction layer over SQLite, simplifies database operations and provides a robust framework for data persistence. This combination allows for efficient data storage and retrieval while maintaining a structured and organized database.
RXJava is employed for handling asynchronous tasks and events in a reactive, stream-based manner. This library enhances the responsiveness of the application by allowing seamless execution of tasks on background threads and simplifying the management of asynchronous operations.
To build and run the application locally, follow these steps:
- Clone the repository:
https://github.com/mustafakbaser/Planning-Board-ToDo-App.git
- Open the project in Android Studio.
- Build and run the application on an emulator or a physical device.
- Hilt: Dependency injection library for Android.
- Room: Persistence library providing an abstraction layer over SQLite.
- RXJava: Library for composing asynchronous and event-based programs using observable sequences.
Feel free to contribute to the project by opening issues or creating pull requests. We welcome any suggestions or improvements to enhance the functionality and user experience of the To-Do app.
This project is licensed under the MIT License - see the LICENSE file for details.