How truonglehuyhoang/taskamina works
Taskamina is a local-first daily planner for balancing planned work and rest against an estimated energy budget. The main workflow is selecting a day, recording a check-in, planning and reordering work or rest, completing items, then recording work feedback and reviewing the activity log. The React page coordinates user actions through the API client; FastAPI routes apply domain logic and persist data in SQLite. The README also documents a Windows desktop beta and configurable local data folder. Desktop wiring and unsampled route internals are not inferred from the excerpts.
Main entry points: Index.tsx Daily plan page · database.py SQLite access · main.py FastAPI application · tasks.py Task routes
Components 22
Daily planning UI
- Daily plan page
client/src/pages/Index.tsx - Daily check-in
client/src/components/DailyCheckInDialog.tsx - Task entry
client/src/components/AddTaskForm.tsx - Task list
client/src/components/TaskList.tsx - Energy display
client/src/components/EnergyBar.tsx - Rest planning
client/src/components/RestPanel.tsx - Task feedback
client/src/components/TaskFeedbackDialog.tsx - Activity history
client/src/components/ActivityLog.tsx
Client API
- HTTP API client
client/src/lib/api.ts - Planning data types
client/src/types/planning.ts
Planning backend
- FastAPI application
server/main.py - Day plan routes
server/app/routers/day_plans.py - Task routes
server/app/routers/tasks.py - Activity log routes
server/app/routers/activity_logs.py - Energy estimates
server/app/energy.py - Activity recording
server/app/activity.py - Request schemas
server/app/schemas.py
Local runtime
- SQLite access
server/app/database.py - Local database
- Desktop launcher
server/desktop.py - Data folder setup
server/app/storage_setup.py
Other components
- Planner
Connections 21
- Planner → Daily plan page: uses
- Daily plan page → Daily check-in: opens
- Daily plan page → Task entry: renders
- Daily plan page → Task list: renders
- Daily plan page → Energy display: renders
- Daily plan page → Rest planning: renders
- Daily plan page → Task feedback: opens
- Daily plan page → Activity history: renders
- Daily plan page → HTTP API client: calls
- HTTP API client → FastAPI application: sends requests
- FastAPI application → Day plan routes: dispatches
- FastAPI application → Task routes: dispatches
- FastAPI application → Activity log routes: dispatches
- Day plan routes → SQLite access: reads/writes
- Task routes → SQLite access: reads/writes
- Activity log routes → SQLite access: reads
- Task routes → Energy estimates: computes estimates
- Task routes → Activity recording: records events
- Day plan routes → Activity recording: records events
- Activity recording → SQLite access: writes logs
- SQLite access → Local database: reads/writes