Taskify - An app to manage your daily tasks and boost your productivity. Taskify is built using kotlin and follows all modern android Development practices and hence is a good learning resource for beginners

Overview

Taskify

Taskify is an app to manage your daily tasks and boost your productivity

Video Introduction πŸ“Ή

This is a small introduction video about Taskify https://youtu.be/MEuoxix5SGY.

Application Install

You can Install and test latest Taskify app from below πŸ‘‡

Taskify

Setup

Clone the repository on your machine. Open the project on your IDE and connect it to firebase and harperDB and everything will be setup

About

It uses firebase and HarperDB as it's backend. It uses Firebase Authentication for email based auth and Google auth, Firebase Crashlytics for crash reporting and HarperDB as its database.

  • Fully functionable.
  • Clean and Simple Material UI.
  • It supports dark theme too πŸŒ— .

Insights into the app πŸ”Ž

light_dark.png

Taskify offers light as well as dark theme πŸŒ“ . So now you can use Taskify in whatever theme you like the most. πŸ”₯

slide-1.png

Taskify supports both email based and Social media authentication like Google authentication. Planning to add Facebook authentication too. 😁

slide-2.png

Have a look at your running task, upcoming and completed tasks all in one place. Create a task by pressing the FAB below.

slide-3.png

Taskify lets you start a timer ⌚ to track the time you take completing a task. Timer runs in background, so you dont need to keep the app open all the time. πŸ‘ See stats πŸ’ͺ of all tasks you created within the last week, including total tasks created in a day and breakdown of tasks based on category.

πŸ“Έ Screenshots

Built With πŸ› 

  • Kotlin - First class and official programming language for Android development.
  • Coroutines - For asynchronous and more..
  • Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
  • StateFlow - StateFlow is a state-holder observable flow that emits the current and new state updates to its collectors.
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
    • DataBinding - Binds data directly into XML layouts
    • Room - Room is an android library which is an ORM which wraps android's native SQLite database
    • DataStore - Jetpack DataStore is a data storage solution that allows you to store key-value pairs or typed objects with protocol buffers.
  • Dependency Injection -
    • Hilt-Dagger - Standard library to incorporate Dagger dependency injection into an Android application.
    • Hilt-ViewModel - DI for injecting ViewModel.
  • Backend
    • Firebase
      • Firebase Auth - To support email based authentication and google authentication
      • Firebase Crashlytics - To report app crashes
    • HarperDB - HarperDB is a geo-distributed database with hybrid SQL & NoSQL functionality in one powerful tool, accessed via a REST API.
  • Retrofit - A type-safe HTTP client for Android and Java.
  • GSON - A modern JSON library for Kotlin and Java.
  • Timber - A simple logging library for android.
  • GSON Converter - A Converter which uses Moshi for serialization to and from JSON.
  • Glide - An image loading and caching library for Android focused on smooth scrolling
  • Coil - An image loading library for Android backed by Kotlin Coroutines.
  • Material Components for Android - Modular and customizable Material Design UI components for Android.

Package Structure

com.vaibhav.taskify    # Root Package
.
β”œβ”€β”€ data                # For data handling.
|   β”œβ”€β”€ local           # Room DB and its related classes
|   β”œβ”€β”€ remote          # Firebase, HarperDB and their relative classes
β”‚   β”œβ”€β”€ model           # Model data classes, both remote and local entities
β”‚   └── repo            # Single source of data.
|
β”œβ”€β”€ di                  # Dependency Injection             
β”‚   └── module          # DI Modules
|
β”œβ”€β”€ ui                  # UI/View layer
|   β”œβ”€β”€ adapters        # All Adapters, viewholder and diffUtils for recyclerViews      
β”‚   β”œβ”€β”€ auth            # Authorization Activity and its fragments
β”‚   β”œβ”€β”€ mainScreen      # Home Activity and its fragments
|   β”œβ”€β”€ addTaskScreen   # Add Task Activity and its fragments
|   β”œβ”€β”€ onBoarding      # OnboardingScreen
β”‚   └── splashScreen    # SplashScreen
|
β”œβ”€β”€ service             # Timer Service and its related classes
|
└── utils               # Utility Classes / Kotlin extensions

Architecture

This app uses MVVM (Model View View-Model) architecture.

Contact

If you need any help, you can connect with me.

Visit:- VaibhavJaiswal.io

You might also like...
A console-based productivity app involving both To-Do Lists and Goal tracking

This is a console-based productivity app involving both To-Do Lists and Goal tracking. It allows users to create To-Dos, check them off, and filter the display between complete/incomplete items

Productivity Note App utilizing Jetpack Compose
Productivity Note App utilizing Jetpack Compose

DailyDoc Productivity Note App utilizing Jetpack Compose Currently working on improving UI features and will be applying these directly to the main br

A productivity tracker app published on Google Play

producktivity-tracker A productivity tracker app published on Google Play. Includes Google AdMob and in-app-purchases to disable ads. This project was

The Rick And Morty - MVVM with a clean architecture approach using some of the best practices in Android Development.
The Rick And Morty - MVVM with a clean architecture approach using some of the best practices in Android Development.

Rick-and-Morty The Rick And Morty - App consuming a Rick and Morty API to display Characters it has been built with clean architecture principles, Rep

A minimalist but powerful productivity timer designed to keep you focused and free of distractions.
A minimalist but powerful productivity timer designed to keep you focused and free of distractions.

Goodtime A minimalist but powerful productivity timer designed to keep you focused and free of distractions. Alternate between focused work sessions a

 🍲Foodium is a sample food blog Android application πŸ“± built to demonstrate the use of Modern Android development tools - (Kotlin, Coroutines, Flow, Dagger 2/Hilt, Architecture Components, MVVM, Room, Retrofit, Moshi, Material Components).
🍲Foodium is a sample food blog Android application πŸ“± built to demonstrate the use of Modern Android development tools - (Kotlin, Coroutines, Flow, Dagger 2/Hilt, Architecture Components, MVVM, Room, Retrofit, Moshi, Material Components).

Foodium 🍲 Foodium is a sample food blog 🍲 Android application πŸ“± built to demonstrate use of Modern Android development tools. Dedicated to all Andr

The JeTrivia is built on a modern Android Development tech stack with MVVM architecture. Kotlin, Coroutine, Flow, StateFlow, Jetpack Compose, Navigation, Room, Hilt, Retrofit2, OkHttp3, kotlinx.serialization, MockK, Truth
The JeTrivia is built on a modern Android Development tech stack with MVVM architecture. Kotlin, Coroutine, Flow, StateFlow, Jetpack Compose, Navigation, Room, Hilt, Retrofit2, OkHttp3, kotlinx.serialization, MockK, Truth

JeTrivia 🚧 In Progress 🚧 The JeTrivia application is sample based on MVVM architecture. Fetching data from the network via repository pattern and sa

Modern-android-lab - Kotlin Language learning lab

kotlin-code-labs Kotlin Language learning lab Run the code with Kotlin Compiler:

 A daily horoscopes listing. App using my personality project's API and Jetpack Compose
A daily horoscopes listing. App using my personality project's API and Jetpack Compose

A daily horoscopes listing. App using my personality project's API and Jetpack Compose. Application architecture based on MVVM and Clean Architecture

Releases(1.0.0)
  • 1.0.0(Jun 28, 2021)

    Taskify - An app to manage your daily tasks and boost your productivity

    Version

    1.0.0

    App features

    • User Authentication - Allowing users to login and register using email based authentication and Google authentication.
    • Dashboard - This is the dashboard screen which shows list of all running, paused, upcoming and completed tasks.
    • Add Task - Creating tasks and saving them.
    • Task Timer - A Timer which tracks time taken in completing a task, it also runs in background so users does not need to keep app open all the time
    • Statistics - Shows statistics of all tasks created within last week.
    • Profile - Shows user's profile.
    • About - Shows information about the app like its version number and more.
    Source code(tar.gz)
    Source code(zip)
    app-release.apk(16.11 MB)
Owner
Vaibhav Jaiswal
Passionate Android Developer . Competitive programmer and Ui/UX designer.
Vaibhav Jaiswal
GOD - Goal of the day is the notes app which tracks your daily tasks, most important tasks & monthly goals

GOD - Goal of the day GOD - Goals of the day Problem Statement: People always face problems in finding their goals and keeping track over a period. Th

Shubham Jitiya 1 Jan 16, 2022
Daily Doc is a Productivity Note App utilizing Jetpack Compose

Daily Doc is a productivity app to help you keep track of your daily progress inspired by 100-day-challenges.

Bryan L 31 Dec 16, 2022
πŸ“’ NotyKT is a complete πŸ’ŽKotlin-stack (Backend + Android) πŸ“± application built to demonstrate the use of Modern development tools with best practices implementation🦸.

NotyKT ??️ NotyKT is the complete Kotlin-stack note taking ??️ application ?? built to demonstrate a use of Kotlin programming language in server-side

Shreyas Patil 1.4k Jan 8, 2023
Download-manager - Boost AWS S3 file download for android

download-manager Boost AWS S3 file download What is DownloadManager? It is desig

Quique Ferraris 0 Feb 17, 2022
Techbee e.U. 62 Jan 31, 2023
AudioNotes πŸ“™ An open source simple audio note taking app built to demonstrate android development best practices.

AudioNotes ?? A simple open source audio note-taking ?? Android application built to describe the use of Modern Android development tools. ?? . Made w

Samson Achiaga 47 Dec 15, 2022
A Good Scanner Built With Kotlin

GoodScanner TODO OpenCV Android ν”„λ‘œμ νŠΈμ— μ„€μΉ˜ https://webnautes.tistory.com/923 Gaussian Blurring κ³Ό 같은 κΈ°μˆ μ„ μ΄μš©ν•˜μ—¬ Image의 noise 제거 OpenCVλ₯Ό μ΄μš©ν•œ Document Edge D

JoonBeom Park 3 Dec 21, 2021
Water tracker app helps you with daily reminder to drink water. This app is just a trial to test and improve my android development skills.

?? About Me I am a self-thaught developer learning web and android development. This app is just a trial to test and improve my android development sk

Sinan Sonmez (Chaush) 28 Dec 17, 2022
TIRO - Time Is Running Out : Productivity app and widget for Android

TIRO-2022 TIRO - Time Is Running Out : Productivity app and widget for Android The purpose of this app is to let you know how much remaining time you

Alubecki 2 Aug 28, 2022