# Nuzlocke Tracker API Backend API for the Nuzlocke Tracker application, built with FastAPI. ## Development Setup ### Option 1: Docker (Recommended) From the project root: ```bash docker compose up ``` This starts the API, frontend, and PostgreSQL database with hot reload enabled. ### Option 2: Local Setup 1. Create and activate virtual environment: ```bash python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate ``` 2. Install dependencies: ```bash pip install -e ".[dev]" ``` 3. Copy environment file: ```bash cp .env.example .env ``` 4. Run the development server: ```bash uvicorn app.main:app --reload --app-dir src ``` The API will be available at http://localhost:8000 ## API Documentation - Swagger UI: http://localhost:8000/docs - ReDoc: http://localhost:8000/redoc ## Project Structure ``` backend/ ├── src/ │ └── app/ │ ├── api/ # API routes │ ├── core/ # Core configuration │ ├── models/ # Database models │ ├── schemas/ # Pydantic schemas │ └── services/ # Business logic ├── tests/ # Test files ├── pyproject.toml # Project configuration └── .env.example # Example environment variables ``` ## Linting & Formatting ```bash ruff check . # Check for issues ruff check . --fix # Fix auto-fixable issues ruff format . # Format code ```