Files
nuzlocke-tracker/backend
Julian Tabel 872d7872ce Validate and regenerate all seed data from PokeDB
- Regenerate seed JSON for all 37 games with more complete PokeDB data
- Add category field to games.json (original/enhanced/remake/sequel/spinoff)
- Include all 1350 pokemon in pokemon.json with types and local sprites
- Build reverse index for PokeDB form lookups (types/sprites for evolutions)
- Move sprites to frontend/public/sprites, reference as /sprites/{id}.webp
- Truncate Sw/Sh den names to fit DB VARCHAR(100) limit
- Deduplicate route names and merge unnamed child areas into parent routes
- Populate 7 previously empty games (Sw/Sh, BDSP, PLA, Sc/Vi)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 11:52:51 +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