This Todo app is designed to help you organize your tasks efficiently. It provides a user-friendly interface for managing and keeping track of your daily tasks.
- Add, edit, and delete tasks
- Mark tasks as completed
- View a list of pending and completed tasks
- Store tasks locally for offline access
- User-friendly and intuitive interface
- Room - Local database for storing tasks
- ViewModel - Architecture component for managing UI-related data
- Navigation Component - For handling in-app navigation
- Dagger Hilt - For dependency injection
- Coroutines - For managing asynchronous tasks
- Flows - Data holder class for receiving live updates from a database
The app follows the MVVM (Model-View-ViewModel) architecture, which separates the business logic from the UI. The components are structured as follows:
- Model: Manages the data and business logic, including Room entities and repositories.
- View: Implemented using Jetpack Compose, responsible for displaying the UI components.
- ViewModel: Manages UI-related data and interactions, communicates with the repository and provides data to the UI.
- Android SDK version 21 or above
- Android Studio version 4.0 or above
- Kotlin version 1.4.0 or above
To run the app, follow these steps:
-
Clone the repository:
git clone https://github.com/your-username/TodoApp.git
-
Open the project in Android Studio.
-
Build and run the project on an emulator or physical device.
Contributions are always welcome! If you have any ideas or suggestions to improve the app, please feel free to open an issue or submit a pull request with a detailed description of what you've done or added.
- This app was created with guidance from various Android development tutorials and documentation provided by Google.
- Special thanks to the open-source community for their valuable contributions and support.
If you have any questions or suggestions, please feel free to reach out to the project maintainers:
Project Link: https://github.com/essy16/Todo