GithubHelp home page GithubHelp logo

mustafakbaser / planning-board-todo-app Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 394 KB

This is a To-Do Android application developed using Java with MVVM architecture and several key libraries to enhance functionality and maintainability.

License: MIT License

Java 100.00%
android android-application hilt-dependency-injection java mvvm-architecture room-database

planning-board-todo-app's Introduction

Planning Board To-Do App

Overview

This is a To-Do Android application developed using Java with MVVM architecture and several key libraries to enhance functionality and maintainability.

Screenshots

Explore the visual charm of the app through these captivating screenshots:

In-app screenshot

Architecture - MVVM

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 - Hilt

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.

SQLite Database and Room Library

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.

Reactive Programming - RXJava

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.

Getting Started

To build and run the application locally, follow these steps:

  1. Clone the repository: https://github.com/mustafakbaser/Planning-Board-ToDo-App.git
  2. Open the project in Android Studio.
  3. Build and run the application on an emulator or a physical device.

Dependencies

  • 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.

Contributing

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.

License

This project is licensed under the MIT License - see the LICENSE file for details.

planning-board-todo-app's People

Contributors

mustafakbaser avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.