A RESTful API for managing teams, organizations, and tasks. Built with FastAPI, SQLAlchemy, and PostgreSQL.
- Organization management (CRUD)
- User management with organization membership
- Task tracking with status, priority, and assignment
- Automatic error tracking via Sentry
- Database migrations with Alembic
# Start all services
docker compose up -d --build
# The API will be available at http://localhost:8001# Create virtual environment
python -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Run migrations
alembic upgrade head
# Start the server
uvicorn app.main:app --reloadGET /api/v1/organizations/— List organizationsPOST /api/v1/organizations/— Create organizationGET /api/v1/organizations/{id}— Get organizationDELETE /api/v1/organizations/{id}— Delete organization
GET /api/v1/users/— List usersPOST /api/v1/users/— Create userGET /api/v1/users/{id}— Get userDELETE /api/v1/users/{id}— Delete user
GET /api/v1/tasks/— List tasks (filter by status, priority, org, assignee)POST /api/v1/tasks/— Create taskGET /api/v1/tasks/{id}— Get taskPATCH /api/v1/tasks/{id}— Update taskDELETE /api/v1/tasks/{id}— Delete task
| Variable | Description | Default |
|---|---|---|
POSTGRES_URI |
PostgreSQL connection URL | sqlite:///./dev.db |
SENTRY_DSN |
Sentry DSN for error tracking | (empty) |
SENTRY_ENVIRONMENT |
Sentry environment name | development |
APP_NAME |
Application name | Team Task Tracker |
DEBUG |
Enable debug mode | true |
# Run all pending migrations
alembic upgrade head
# Create a new migration
alembic revision --autogenerate -m "description"
# Rollback last migration
alembic downgrade -1- FastAPI — Modern async web framework
- SQLAlchemy — ORM and database toolkit
- Alembic — Database migrations
- PostgreSQL — Primary database
- Sentry — Error monitoring and performance tracking
- Docker — Containerization