Initial todo app setup

- 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
This commit is contained in:
2026-01-28 14:02:15 +00:00
commit 98ea0427bb
58 changed files with 6605 additions and 0 deletions

63
README.md Normal file
View File

@@ -0,0 +1,63 @@
# 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
```bash
# 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
```