TODO Application
Overview
This project is an Single Page Android TODO application built using Jetpack Compose for the UI and Clean Architecture principles for structuring the codebase. The application allows users to manage their tasks efficiently with features such as adding, updating, deleting, and viewing tasks.
Features
- Add new tasks
- Update existing tasks
- Delete tasks
- View a list of tasks
- Mark tasks as completed or pending
App ScreenShots
Architecture The application follows the Clean Architecture approach, which divides the project into distinct layers, each with its own responsibility. This separation of concerns makes the codebase more modular, testable, and maintainable.
Mock URL: https://app.beeceptor.com/console
Tech Stack
Kotlin: Programming language used for the entire project. Jetpack Compose: Modern toolkit for building native Android UI. Hilt: Dependency Injection library. Room: Persistence library for local database management. Coroutines: For asynchronous programming. ViewModel: Lifecycle-aware components to store and manage UI-related data. Repository Pattern: For data management and abstraction.
Project Structure
Getting Started Prerequisites
Android Studio Arctic Fox or later Kotlin 1.5.21 or later Gradle 7.0.2 or later
Installation
Clone the repository:Bashgit clone https://github.com/Vimalraj-Vijay/TODO-Application.git
Open the project in Android Studio. Sync the project with Gradle files. Run the application on an emulator or physical device.
Configuration
Ensure you have the necessary dependencies in your build.gradle files. Configure Hilt for dependency injection. Set up Room database for local data storage.
Usage
Launch the application. Use the UI to add, update, delete, and view tasks. Mark tasks as completed or pending by tapping on them.
Contributing
Fork the repository. Create a new branch (git checkout -b feature/your-feature-name). Commit your changes (git commit -am 'Add some feature'). Push to the branch (git push origin feature/your-feature-name). Create a new Pull Request.
Acknowledgements
Jetpack Compose documentation Clean Architecture principles by Robert C. Martin Android Developer documentation