Add Pokemon teams (pokeapi_id, level, order) to all 327 boss entries across 21 seed files, sourced from Bulbapedia. Includes starter-dependent teams via condition_label, Mega Evolution, Dynamax/Gigantamax, Terastallize, and single-Pokemon entries for Totems/Nobles/Titans. Also fix _export_bosses to include condition_label in exported data. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
nuzlocke-tracker
A full-stack Nuzlocke run tracker for Pokemon games.
Getting Started for now
Prerequisites
- Docker & Docker Compose
Start the Stack
docker compose up
This starts three services:
| Service | URL |
|---|---|
| Frontend | http://localhost:5173 |
| API | http://localhost:8000 |
| API Docs | http://localhost:8000/docs |
| PostgreSQL | localhost:5432 |
Run Migrations
docker compose exec api alembic -c /app/alembic.ini upgrade head
Seed the Database
The seeder reads from pre-generated JSON files in backend/src/app/seeds/data/ (committed to the repo) and loads them into PostgreSQL. No external API access is needed — everything runs from local files inside the container.
docker compose exec api python -m app.seeds
To seed and verify the data was loaded correctly:
docker compose exec api python -m app.seeds --verify
This loads game data, Pokemon, routes, and encounter tables for FireRed, LeafGreen, Emerald, HeartGold, and SoulSilver.
Regenerating Seed Data
The seed JSON files don't normally need regenerating. If you need to update them (e.g., to pull in new game data), run the import tool from the repo root:
python -m import_pokedb
It auto-downloads PokeDB data on the first run. Options:
# Generate data for a specific game only
python -m import_pokedb --game firered
# Use a custom PokeDB data directory
python -m import_pokedb --pokedb-dir ~/my-pokedb-data/
# Write output to a different directory
python -m import_pokedb --output /tmp/seed-output/
Review and commit the updated JSON files in backend/src/app/seeds/data/.