/Tasky

Task manager similar to a lite version of Google Calendar

Primary LanguageKotlin

Tasky.Preview.for.Android.store.mp4

Tasky

Shared Task manager similar to a lite version of Google Calendar Over 120 Stars on Github!

  • Full compose UI
  • Manages schedule across time zones automatically
  • Works offline & automatically syncs across multiple devices
  • Invite other people to your events, and automatically sync changes.
  • Alarms & Custom Notifications for Agenda Items coming due
  • Manage multiple user accounts
  • Internationalized for English, Spanish and German
  • Automatically sync event changes to all people in an Event
  • Add photos to Events
  • Dark & Light mode
  • Deep Link handling
  • Custom Notification with images and functionality
  • Visual Planner navigator
  • Code Style focuses on maximum "new developer" comprehensibility

Hits-of-Code

Google Play Store Presence

Mini Marketing Site

Screen Shots

🛠 Built With

  • Kotlin - First class and official programming language for Android development.
  • Compose - Jetpack Compose is Android’s modern toolkit for building native UI.
  • Coroutines - A coroutine is a concurrency design pattern that you can use on Android to simplify code that executes asynchronously.
  • Flow - A flow is an asynchronous version of a Sequence, a type of collection whose values are lazily produced.
  • Proto DataStore - Jetpack DataStore is a data storage solution that allows you to store key-value pairs or typed objects with protocol buffers. DataStore uses Kotlin coroutines and Flow to store data asynchronously, consistently, and transactionally.
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • Stateflow - StateFlow is a state-holder observable flow that emits the current and new state updates to its collectors.
    • Flow - A flow is an asynchronous version of a Sequence, a type of collection whose values are lazily produced.
    • ViewModel - Stores UI-related data that isn"t destroyed on UI changes.
    • Compose Destinations Navigation - Simplified and type-safe navigation for Compose.
    • DataStore - Jetpack DataStore is a data storage solution that allows you to store key-value pairs or typed objects with protocol buffers. DataStore uses Kotlin coroutines and Flow to store data asynchronously, consistently, and transactionally.
    • WorkManager - Schedule automatically repeating or guarantee one-time background processing.
    • Room Database - SQL-based database.
  • Material Components for Android
    • Modular and customizable Material Design UI components for Android.
  • Accompanist
    • A collection of extension libraries for Jetpack Compose.
  • Coil
    • Image loading library for Compose.

Screen Flow

image

Architecture Overview

Architecture Data Flow

Entity Relationship

Authentication Flow State Diagram

To simulate, click on the diagram.

Offline Cache Strategy State Diagram

To simulate, click on the diagram.

Network Endpoints

Full Diagram

imageimageimage

Version History

Date Version Notes
12/30/22 1.0 Initial Version - Meets Spec
02/22/23 1.1 Add Gantt View
9/5/23 1.1 Fix failing tests