develop #6
@@ -0,0 +1,25 @@
|
|||||||
|
---
|
||||||
|
# nuzlocke-tracker-9c8d
|
||||||
|
title: Rebrand to Another Nuzlocke Tracker (ANT)
|
||||||
|
status: todo
|
||||||
|
type: task
|
||||||
|
priority: normal
|
||||||
|
created_at: 2026-02-10T14:46:09Z
|
||||||
|
updated_at: 2026-02-10T14:46:56Z
|
||||||
|
---
|
||||||
|
|
||||||
|
Adopt the new branding: **Another Nuzlocke Tracker**, abbreviated **ANT**.
|
||||||
|
|
||||||
|
## Context
|
||||||
|
|
||||||
|
- No existing Nuzlocke tracker uses this name or acronym.
|
||||||
|
- The name is self-deprecating/playful ("yet another...") and the acronym opens up mascot/logo possibilities (ant character).
|
||||||
|
- **Durant** (Steel/Bug, Gen V) is the mascot Pokémon — an actual ant Pokémon that ties the ANT acronym directly into the Pokémon universe.
|
||||||
|
|
||||||
|
## Checklist
|
||||||
|
|
||||||
|
- [ ] Update project name in package.json / config files
|
||||||
|
- [ ] Update page titles, meta tags, and any visible app name references
|
||||||
|
- [ ] Update README and any documentation with the new name
|
||||||
|
- [ ] Design or source a Durant-themed logo/icon
|
||||||
|
- [ ] Update favicon and app icons
|
||||||
@@ -5,8 +5,10 @@ status: draft
|
|||||||
type: task
|
type: task
|
||||||
priority: normal
|
priority: normal
|
||||||
created_at: 2026-02-10T14:04:11Z
|
created_at: 2026-02-10T14:04:11Z
|
||||||
updated_at: 2026-02-10T14:11:06Z
|
updated_at: 2026-02-10T14:31:08Z
|
||||||
parent: nuzlocke-tracker-rzu4
|
parent: nuzlocke-tracker-rzu4
|
||||||
|
blocking:
|
||||||
|
- nuzlocke-tracker-spx3
|
||||||
---
|
---
|
||||||
|
|
||||||
Build a Go tool that converts PokeDB.org's JSON data export into our existing seed JSON format. This replaces PokeAPI as the single source of truth for ALL games (Gen 1-9).
|
Build a Go tool that converts PokeDB.org's JSON data export into our existing seed JSON format. This replaces PokeAPI as the single source of truth for ALL games (Gen 1-9).
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
# nuzlocke-tracker-idh2
|
||||||
|
title: Add PokeDB.org data attribution
|
||||||
|
status: completed
|
||||||
|
type: task
|
||||||
|
priority: normal
|
||||||
|
created_at: 2026-02-10T14:52:22Z
|
||||||
|
updated_at: 2026-02-10T14:56:25Z
|
||||||
|
---
|
||||||
|
|
||||||
|
PokeDB.org requires attribution when their data is used. Implement visible attribution in the application UI. This is both a requirement of their terms of use and good practice.
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
# nuzlocke-tracker-spx3
|
||||||
|
title: Evaluate separate seed/init container after PokeDB import
|
||||||
|
status: draft
|
||||||
|
type: task
|
||||||
|
priority: low
|
||||||
|
created_at: 2026-02-10T14:30:57Z
|
||||||
|
updated_at: 2026-02-10T14:30:57Z
|
||||||
|
---
|
||||||
|
|
||||||
|
After the PokeDB.org data import (beans-bs05) is complete, evaluate whether the seed data has grown enough to justify splitting seeding into a separate init container.
|
||||||
|
|
||||||
|
## Context
|
||||||
|
|
||||||
|
- Backend container is currently 76 MB; seed JSON data is ~5 MB
|
||||||
|
- After PokeDB import, seed data may grow significantly (filling in Gen 8+, Let's Go, etc.)
|
||||||
|
- The seed runner is tightly coupled to backend models/DB — a fully separate container isn't practical
|
||||||
|
- The pragmatic pattern: same backend image, different entrypoint as a one-shot init service in Docker Compose
|
||||||
|
|
||||||
|
## Approach (if we proceed)
|
||||||
|
|
||||||
|
- Add a `seed` service to `docker-compose.prod.yml` using the same API image
|
||||||
|
- Move `alembic upgrade head` + `python -m app.seeds` into the seed service command
|
||||||
|
- Use `restart: "no"` and `service_completed_successfully` dependency
|
||||||
|
- API service depends on seed completing before starting
|
||||||
|
- API command becomes just `uvicorn ...` — no migrations or seeding
|
||||||
|
|
||||||
|
## Decision criteria
|
||||||
|
|
||||||
|
- Measure the final seed data size after PokeDB import
|
||||||
|
- If seed data exceeds ~15-20% of image size, the split is worthwhile
|
||||||
|
- Even below that threshold, the separation of concerns (migrations/seeds vs serving) may justify it
|
||||||
|
|
||||||
|
## Additional benefits
|
||||||
|
|
||||||
|
- Failure isolation: seed failure prevents API startup cleanly
|
||||||
|
- Idempotency: seed runs once per deploy, API can restart freely
|
||||||
|
- Cleaner API startup path
|
||||||
@@ -127,6 +127,19 @@ export function Layout() {
|
|||||||
<main>
|
<main>
|
||||||
<Outlet />
|
<Outlet />
|
||||||
</main>
|
</main>
|
||||||
|
<footer className="border-t border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800">
|
||||||
|
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4 text-center text-xs text-gray-500 dark:text-gray-400">
|
||||||
|
Pokémon encounter data from{' '}
|
||||||
|
<a
|
||||||
|
href="https://pokedb.org"
|
||||||
|
className="underline hover:text-gray-700 dark:hover:text-gray-300"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
>
|
||||||
|
PokeDB.org
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user