Add naming scheme selection to run configuration
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>
This commit is contained in:
@@ -5,25 +5,34 @@ status: todo
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-11T15:56:26Z
|
||||
updated_at: 2026-02-11T15:56:48Z
|
||||
updated_at: 2026-02-11T20:23:29Z
|
||||
parent: nuzlocke-tracker-igl3
|
||||
blocking:
|
||||
- nuzlocke-tracker-c6ly
|
||||
---
|
||||
|
||||
Create a JSON data file containing themed words for nickname generation.
|
||||
Create a JSON data file containing themed words for nickname generation, stored in the backend alongside other seed data.
|
||||
|
||||
## Requirements
|
||||
|
||||
- Each word entry has: `word` (string) and `categories` (string array)
|
||||
- Store at `backend/src/app/seeds/data/name_dictionary.json`
|
||||
- Category-keyed structure for fast lookup:
|
||||
```json
|
||||
{
|
||||
"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 can belong to multiple categories
|
||||
- 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
|
||||
|
||||
- [ ] Define the data schema / TypeScript type for dictionary entries
|
||||
- [ ] Create the JSON data file with initial categories
|
||||
- [ ] Create `backend/src/app/seeds/data/name_dictionary.json` with the category-keyed structure
|
||||
- [ ] Populate each category with 150-200 words
|
||||
- [ ] Validate no duplicates exist within the file
|
||||
- [ ] Validate no duplicates exist within a single category
|
||||
- [ ] Add a utility function to load the dictionary from disk (with caching)
|
||||
Reference in New Issue
Block a user