Backend API for Mood Tracker - AI-powered mood tracking app for international students.
- FastAPI 0.109 - Web framework
- PostgreSQL 16 - Database
- SQLAlchemy 2.0 - ORM (async)
- Alembic - Database migrations
- Claude API - AI-generated insights
- Docker - Containerization
source .venv/bin/activate
PKG=(pytest-mock)
uv pip install "$PKG" --python ../venv/bin/pythonopenssl rand -base64 32uvicorn main:app --reload- copy env.example
cp env.example .env- Build all containers
docker compose up -d --build- Start the database and backend containers
docker compose up -d db app- Run database migration with Alembic
docker compose run --rm app alembic upgrade head- Check running services
docker compose ps- View logs if needed
docker compose logs -f db app- Rebuild after updating code
docker compose up -d --buildAlembic is used for managing database schema changes.
- Generate a new migration when models change:
docker compose run --rm app alembic revision --autogenerate -m "describe change"- Apply migrations to bring the database to the latest state:
docker compose run --rm app alembic upgrade head- Check current version:
docker compose run --rm app alembic current