- Backend: Bun + Elysia + Drizzle ORM + PostgreSQL - Frontend: React + Vite + TailwindCSS + Zustand - Auth: better-auth with invite-only system - Features: Tasks, Projects, Sections, Labels, Comments - Hammer API: Dedicated endpoints for AI assistant integration - Unit tests: 24 passing tests - Docker: Compose file for deployment
1.3 KiB
1.3 KiB
Todo App
A Todoist-inspired task management app with API access for Hammer (AI assistant).
Tech Stack
Backend (apps/api)
- Runtime: Bun
- Framework: Elysia
- Database: PostgreSQL + Drizzle ORM
- Auth: better-auth (invite-only)
- Jobs: pg-boss (reminders, notifications)
- Email: Resend
Frontend (apps/web)
- Framework: React + Vite
- Styling: TailwindCSS + shadcn/ui
- Data: TanStack Query
- Routing: React Router
- State: Zustand
Features
- ✅ Tasks with priorities, due dates, descriptions
- ✅ Projects and sections
- ✅ Sub-tasks
- ✅ Labels (cross-project tagging)
- ✅ Recurring tasks
- ✅ Reminders
- ✅ Comments with attachments
- ✅ Custom filters
- ✅ Today / Upcoming / Board views
- ✅ Invite-only user management
- ✅ Hammer API (AI assistant integration)
Development
# Install dependencies
cd apps/api && bun install
cd apps/web && bun install
# Start API
cd apps/api && bun run dev
# Start Web
cd apps/web && bun run dev
Deployment
- Domain: todo.donovankelly.xyz
- Server: Hostinger VPS
API Endpoints
Hammer API
POST /api/hammer/tasks - Create task assigned to Hammer
GET /api/hammer/tasks - Get Hammer's assigned tasks
PATCH /api/hammer/tasks/:id - Update/complete task
POST /api/hammer/webhook - Register notification webhook