Task Tracker
Full-Stack Task Management · Royal Aesthetic · Production-Ready
A self-hosted task tracking dashboard and organizer built for people who manage multiple projects, efforts, or initiatives at once. Dark-themed with a royal aesthetic — because if you're running the realm, your tools should look the part. Full-stack from the database to the drag handle, no framework-of-the-week shortcuts.
What It Does
- Multiple Trackers — Organize tasks by project, client, or effort. Each tracker is its own workspace with a name and type label.
- Severity at a Glance — 1–10 severity scale with green-to-red color coding. No guessing which task is on fire.
- Completion Tracking — Toggle tasks done with a single click. Progress you can see without a burndown chart.
- Drag-and-Drop Reordering — Prioritize by dragging. No up-arrow button mashing required.
- Rich Text Notes — Every task gets a full notes panel with a TipTap rich text editor. Title, date, and formatted content stay with the work.
- Dynamic Checklists — Build reusable checklist templates, then clone them across devices or items. Steps can be plain text or shell commands with copy-to-clipboard, optional display labels, and hide/show toggling. Completion timestamps give you an audit trail.
- Projects with Steps — Multi-step project plans with a TipTap rich-text editor per step, code blocks with syntax highlighting, per-step reference links, drag-reorder, completion toggling that auto-advances to the next step, progress bars, and search filtering.
- Bearer Token Auth — All
/api/v1/*endpoints require anAuthorization: Bearertoken. No secrets in the Docker image — the frontend picks up its token at runtime via/config.js. MCP-ready design lets any API consumer hit the same endpoints. - Real-Time Updates — TanStack Query handles caching and revalidation. Changes reflect without a full page reload.
Architecture
Backend
- FastAPI — async-first Python web framework
- SQLAlchemy 2.0 ORM + Alembic migrations
- asyncpg — async PostgreSQL driver
- Pydantic v2 validation schemas
- Uvicorn ASGI server
- PostgreSQL 16 (prod) / SQLite (dev)
Frontend
- React 18 + TypeScript
- Vite build tooling
- Tailwind CSS
- TipTap rich-text editor
- @dnd-kit drag-and-drop
- React Router v6
- TanStack Query (server state)
- Zustand (client state)
Operations
- Docker + docker-compose for production
- Optional Traefik reverse proxy (HTTPS)
- DockerHub image:
itlostandfound/task-tracker - Full REST API with bearer token auth
- Swagger/ReDoc at
/docs(debug mode only) - Health check endpoint
/api/v1/health - MIT License — open source
Why I Built It
I needed it. Every task tracker assumes you have one project. Real infrastructure work means juggling multiple efforts across multiple environments, each with its own priority stack and its own fire drill. I needed something that treats trackers as first-class citizens, not tags on a flat list.
But needing it was only the first win. Publishing it gave me the opportunity to see if others would find it useful, and more importantly, it gave me a real project to learn public GitHub integrations and CI/CD pipelines end to end (I have a Forgejo Internal Git Repository). The plan is to push a DockerHub image so anyone can pull it and run it without touching the build stack. That's the full cycle that I need to know in and out. Build what I need, share what I built, and learn what it takes to ship it properly.
Win. Win. Win.
The royal aesthetic is intentional. It's your realm. Manage it like you rule it.
My Co-Workers Feedback: It's nice, but the royal theme isn't my thing. How about a Pirate or Egyptian Theme? My response was: "Sounds like an RFE to me..."
Version History
- v1 — Task Tracking Foundation — Multiple trackers, severity-coded tasks, drag-and-drop reordering, completion tracking, rich text notes.
- v2 — Checklist System — Reusable checklist templates, clone-to-device deployment, text and command step types, copy-to-clipboard for commands, hide/show toggling, completion timestamps and audit reports.
- v3 — Projects & API Security — Multi-step projects with TipTap rich-text content per step, code blocks with syntax highlighting, per-step references, drag-reorder steps, auto-advance on completion, progress bars, incomplete-only filter, full-text search. Bearer token authentication on all API endpoints, runtime token injection via
/config.js, MCP-ready CRUD endpoints.
API Endpoints
| Trackers | CRUD — GET/POST /api/v1/trackers, GET/PATCH/DELETE /api/v1/trackers/{id} |
| Tasks | GET/POST under tracker, PATCH/DELETE by task ID, drag-and-drop reorder |
| Notes | GET/POST under task, GET/PATCH/DELETE by note ID |
| Checklists | CRUD — GET/POST /api/v1/checklists, GET/PUT/DELETE /api/v1/checklists/{id}, template clone POST /api/v1/checklists/{id}/clone, undo delete POST /api/v1/checklists/undo |
| Projects | CRUD — GET/POST /api/v1/projects, GET/PATCH/DELETE /api/v1/projects/{id}, step CRUD and reorder, per-step references |
| Auth | Bearer token on all /api/v1/* endpoints; /config.js bootstraps the frontend |
| Health | GET /api/v1/health — no token required |
Details
| Status | v3.0.2 · In Production |
| Stack | Python · TypeScript · React · FastAPI · SQLAlchemy · Tailwind CSS · PostgreSQL |
| License | MIT |
| Source | GitHub — itlostandfound/Task-Tracker |
| Docker | docker pull itlostandfound/task-tracker:latest |