Giter VIP home page Giter VIP logo

tasks's Introduction

Tasks

An Android app that shows a list of tasks as a todo list, sorted by the order of importance. The user can create, edit, delete, sort and search for tasks.

You can find the debug APK file in Releases.

Screenshots

โ€‚โ€‚

Architecture - MVVM

MVVM (Model-View-ViewModel) Architecture combines the advantages of separation of concerns provided by MVP, while maintaining testability. This results in a pattern where the model drives as many of the operations as possible, minimizing the logic in the view.

Libraries Used

Jetpack Libraries

Jetpack is a suite of libraries to help follow best practices, reduce boilerplate code, and write code that works consistently across Android versions and devices.

Architecture Components

Android Architecture Components like ViewModel, LiveDataand Lifecycle-aware components are implemented in this app for a more robust, testable and maintainable codebase.

Dagger-Hilt

Dagger-Hilt is responsible for Dependency Injection throughout the app. It is used to inject dependencies like Room instance and ViewModels.

Coroutines

Coroutines is used to execute code in an asynchronous and non-blocking way. It is heavily used in the ViewModels and also to make databse requests to the Room instance.

Room

Room persistence library provides an abstraction layer over SQLite to allow for more robust database access. It provides compile-time query verification, convenience annotations and less boilerplate code.

Navigation Components

Navigation components is used to handle fragment transactions, and Up and Back actions correctly by default. It simplifies navigation and passing data between destinations in a type-safe way using Safe Args.

View Binding

View Binding is used to ensure compile-time safety for accessing the view hierarchy. It creates an instance of a binding class that contains direct references to all views that have an ID in the corresponding layout.

Data Store

DataStore is a data storage solution that allows you to store user preferences using key-value pairs or typed objects. It uses Kotlin coroutines and Flow to store data asynchronously, consistently, and transactionally.

Material Components

Material Components provide beautiful UI elements with a lots of customizations. It is used as it defines the latest standards for design by Google.

Developed By

Atri Tripathi

atritripathi.com

License

Copyright 2021 Atri Tripathi

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

tasks's People

Contributors

atritripathi avatar

Watchers

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