A Kanban-style software development manager built as a monorepo:
- Web UI: Next.js app (Kanban board + auth UI)
- Backend API: FastAPI service (auth, projects, tasks, license keys)
- User authentication (signup/login)
- License key gated signup
- Projects and tasks (CRUD)
- Kanban workflow with task states (e.g. Scheduled → In Progress → Completed)
- Drag-and-drop interactions in the UI
| Path | What it is |
|---|---|
apps/web |
Next.js web app (port 3000) |
apps/docs |
Next.js docs app (port 3001) |
apps/backend |
FastAPI backend (port 8000) |
packages/* |
Shared configs (eslint-config, typescript-config) |
- Node.js
>=18and Yarn Classic (yarn@1.22.x) - Python
>=3.13 - Recommended for backend:
uv(Python package manager/runner)
From the repo root:
yarn install
yarn devThis starts:
- Web UI: http://localhost:3000
- Docs UI: http://localhost:3001
- Configure environment variables:
cd apps/backend
cp .env.example .envEdit apps/backend/.env as needed (notably DATABASE_URL and ALLOWED_ORIGINS).
- Run the API:
cd apps/backend
uv run python main.pyBackend endpoints:
- API base: http://localhost:8000
- Swagger UI: http://localhost:8000/docs
- Health check: http://localhost:8000/health
To generate and insert license keys into the backend database:
cd apps/backend
uv run python generate_license_keys.py 10From repo root:
- Dev:
yarn dev - Build:
yarn build - Lint:
yarn lint - Typecheck:
yarn check-types - Format:
yarn format
Frontend (Jest):
yarn workspace web testBackend (pytest):
cd apps/backend
uv sync --extra test
uv run pytest- Wong Ching Kei Achilles
- Chiu Ki Wai
- Niu Chen Yu
- Vuong Tsz Ching