Add a nullable naming_scheme column to NuzlockeRun so users can pick a themed word category for nickname suggestions. Includes Alembic migration, updated Pydantic schemas, a GET /runs/naming-categories endpoint backed by a cached dictionary loader, and frontend dropdowns in both the NewRun creation flow and the RunDashboard for mid-run changes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1.3 KiB
1.3 KiB
title, status, type, priority, created_at, updated_at, parent, blocking
| title | status | type | priority | created_at | updated_at | parent | blocking | |
|---|---|---|---|---|---|---|---|---|
| Create name dictionary data file | todo | task | normal | 2026-02-11T15:56:26Z | 2026-02-11T20:23:29Z | nuzlocke-tracker-igl3 |
|
Create a JSON data file containing themed words for nickname generation, stored in the backend alongside other seed data.
Requirements
- Store at
backend/src/app/seeds/data/name_dictionary.json - Category-keyed structure for fast lookup:
{ "mythology": ["Apollo", "Athena", "Loki", ...], "space": ["Apollo", "Nova", "Nebula", ...], "food": ["Basil", "Sage", "Pepper", ...] } - Words may appear in multiple categories
- Categories should include themes like: mythology, food, space, nature, warriors, music, literature, gems, ocean, weather, etc.
- Target 150-200 words per category
- Words should be short, punchy, and suitable as Pokemon nicknames (ideally 1-2 words, max ~12 characters)
- This file is NOT seeded into the database — it is read directly by the backend service at runtime
Checklist
- Create
backend/src/app/seeds/data/name_dictionary.jsonwith the category-keyed structure - Populate each category with 150-200 words
- Validate no duplicates exist within a single category
- Add a utility function to load the dictionary from disk (with caching)