Project management API built with Python, FastAPI, and PostgreSQL.
Track projects, user stories, and issues from a single backend.
- FastAPI — HTTP API
- SQLAlchemy 2.x — ORM
- PostgreSQL — primary database
- Pydantic Settings — configuration
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS / Linux
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .envCreate a PostgreSQL database named projectboard (or update DATABASE_URL in .env).
uvicorn app.main:app --reloadAPI docs: http://127.0.0.1:8000/docs
- App bootstrap and settings
- Project / story / issue data models
- CRUD API routes for the core entities
- Project members and issue assignees
- Comments on issues
- Project keys and sequential issue keys
- Labels on issues
- Issue list filters by status, priority, assignee, label, and title
- Sprints with planned, active, and completed states
- Assign issues to a sprint
- Sprint board grouped by issue status
- Link issues with blocks, relates, and duplicates
- Show those links on an issue
- Filter the issue list to blocked work
- Activity log for each issue
- Record creates, field changes, comments, and links
- List an issue's history