Schedule your tasks and events in one place.
TaskHorizon is a productivity app that combines To-do and Calendar functionality to enable effective daily task management and scheduling, providing a seamless experience for users. We are currently focused on developing the web and macOS versions of the app, with several exciting new features in the pipeline.
Warning This project is currently in the early prototyping phase and the data integrity has not been fully validated. Please exercise caution when using the prototype.
See Planned Roadmap and Project real-time Roadmap for latest updates.
client
the Tauri x Web app
server
the backend server based on ts.ed and express.js
main
: stable branch
dev
: active development
feat/*
: modular feature development
fix/*
: bug fix branch
release/*
: release version
Version 0.2 (draft)
:
flowchart TB;
A{Tauri Core} <-- Command & Event --> B[WebView]
A --> Notification
B --> React[React] <-- States --> store[Zustand Store] -- Data Persistence --> ls[(LocalStorage)]
React -- Render --> vdom[VirtualDOM]
vdom --> al(Application Layout)
al --> cv(Calendar View)
al --> tv(TodoList View)
al --> us(UserSettings view)
React -- IPC through Tauri Core .> Notification
store -- Data Fetching --> ch[Custom Hooks] -- SWR --> axios[Axios XMLHttpRequests]
React -- APIs --> axios
TODO
TODO
Setup Tauri development prerequisites first.
# install dependencies
pnpm i
# start web dev server
pnpm dev
# start Tauri dev window
# -- it will start both web dev server and Tauri dev window
pnpm tauri dev
# build for production
pnpm tauri build
Name | Description |
---|---|
Tauri | Cross-platform framework (Electron alternative) |
React | Frontend UI framework |
React Router | Routing for React |
Zustand | State Management |
Name | Description |
---|---|
Tailwind CSS | Custom UI Components |
Mantine | UI Component and hooks |
styled-components | Custom UI Components |
Semi-UI | UI Components |
Name | Description |
---|---|
ESLint | Linting |
Prettier | Code formatter |
Stylelint | CSS linter |
Husky | Git hooks |
lint-staged | Git hooks |
Commitizen | Git commit convention |
Tailwind Config Viewer | Tailwind config and cheatsheet |
WIP