Files
nuzlocke-tracker/backend
Julian Tabel 85fef68dae
All checks were successful
CI / backend-lint (push) Successful in 10s
CI / actions-lint (push) Successful in 15s
CI / frontend-lint (push) Successful in 23s
Add static clause rule for encounter selector filtering
When disabled, static encounters (legendaries, scripted Pokémon) are
grayed out and unselectable in the encounter selector. Enabled by default.
Adds 'static' to METHOD_CONFIG/METHOD_ORDER with a teal badge.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 12:04:39 +01:00
..
2026-02-13 15:53:22 +01:00

Nuzlocke Tracker API

Backend API for the Nuzlocke Tracker application, built with FastAPI.

Development Setup

From the project root:

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:

    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
  2. Install dependencies:

    pip install -e ".[dev]"
    
  3. Copy environment file:

    cp .env.example .env
    
  4. Run the development server:

    uvicorn app.main:app --reload --app-dir src
    

The API will be available at http://localhost:8000

API Documentation

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

ruff check .        # Check for issues
ruff check . --fix  # Fix auto-fixable issues
ruff format .       # Format code