ZenList is an ultra-minimal todo list app built with:
- React frontend
- Go + GraphQL backend
- PostgreSQL
The frontend includes a minimal API tester UI to exercise:
- User profile (
me,upsertMe) - Projects (create, update, delete, list)
- Labels (create, update, delete, list)
- Tasks and subtasks (create, update, delete, list)
- Status/priority filtering and label assignment
- Docker Desktop (or Docker Engine) running
From project root:
docker compose up --buildServices:
- Frontend:
http://localhost:5173 - Backend GraphQL endpoint:
http://localhost:8080/query - Backend Playground:
http://localhost:8080/ - Backend Health:
http://localhost:8080/healthz - PostgreSQL:
localhost:5432(zenlist/zenlist)
docker compose downTo also remove DB data volume:
docker compose down -vThis mode runs PostgreSQL in Docker and backend/frontend directly on your machine.
docker compose up -d postgrescd backend/go-graphql
cp .env.example .env
make migrate-up
make runIn a new terminal:
cd apps/web-react
npm install
npm run devThen open http://localhost:5173.
cd backend/go-graphql
make testcd backend/go-graphql
make gen