https://user-images.githubusercontent.com/5157474/220800950-ddd04b3b-f1ae-4a48-b1d4-bd9f21f7ddeb.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
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
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
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 |