Initial setup of frontend and backend
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
---
|
||||
# nuzlocke-tracker-0q8f
|
||||
title: Encounter Tracking Interface
|
||||
status: todo
|
||||
type: task
|
||||
created_at: 2026-02-04T15:44:37Z
|
||||
updated_at: 2026-02-04T15:44:37Z
|
||||
parent: nuzlocke-tracker-f5ob
|
||||
---
|
||||
|
||||
Build the main interface for tracking encounters on each route/area.
|
||||
|
||||
## Checklist
|
||||
- [ ] Create route list component showing all areas in the game
|
||||
- [ ] Display encounter status per route (uncaught, caught, failed, skipped)
|
||||
- [ ] Build encounter modal/form:
|
||||
- [ ] Select Pokémon from route's available encounters
|
||||
- [ ] Enter nickname for caught Pokémon
|
||||
- [ ] Mark as caught, failed (ran/KO'd), or skipped (duplicates clause)
|
||||
- [ ] Show route progression (e.g., 15/45 routes completed)
|
||||
- [ ] Allow editing/updating existing encounters
|
||||
- [ ] Support marking gift/static encounters separately
|
||||
|
||||
## UX Considerations
|
||||
- Quick entry flow - minimize clicks to log an encounter
|
||||
- Visual distinction between route types (grass, water, cave, etc.)
|
||||
- Mobile-friendly for tracking while playing
|
||||
34
.beans/nuzlocke-tracker-1iuh--project-setup-tech-stack.md
Normal file
34
.beans/nuzlocke-tracker-1iuh--project-setup-tech-stack.md
Normal file
@@ -0,0 +1,34 @@
|
||||
---
|
||||
# nuzlocke-tracker-1iuh
|
||||
title: Project Setup & Tech Stack
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-04T15:43:55Z
|
||||
updated_at: 2026-02-04T15:55:46Z
|
||||
parent: nuzlocke-tracker-f5ob
|
||||
blocking:
|
||||
- nuzlocke-tracker-sm1b
|
||||
- nuzlocke-tracker-k5lm
|
||||
- nuzlocke-tracker-uw2j
|
||||
- nuzlocke-tracker-dgax
|
||||
- nuzlocke-tracker-0q8f
|
||||
- nuzlocke-tracker-hm6t
|
||||
- nuzlocke-tracker-8tuw
|
||||
- nuzlocke-tracker-8fcj
|
||||
---
|
||||
|
||||
Set up the initial project structure and choose the technology stack.
|
||||
|
||||
## Checklist
|
||||
- [x] Initialize the project (e.g., Vite + React/Vue/Svelte or Next.js)
|
||||
- [x] Set up TypeScript configuration
|
||||
- [x] Configure linting (ESLint) and formatting (Prettier)
|
||||
- [x] Set up basic folder structure (components, types, utils, data)
|
||||
- [x] Add Tailwind CSS or chosen styling solution
|
||||
- [x] Create basic app shell with routing
|
||||
|
||||
## Considerations
|
||||
- Should be a web app for accessibility
|
||||
- Consider PWA capabilities for offline use
|
||||
- Keep bundle size small for fast loading
|
||||
30
.beans/nuzlocke-tracker-4c31--backend-setup-framework.md
Normal file
30
.beans/nuzlocke-tracker-4c31--backend-setup-framework.md
Normal file
@@ -0,0 +1,30 @@
|
||||
---
|
||||
# nuzlocke-tracker-4c31
|
||||
title: Backend Setup & Framework
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-04T15:46:49Z
|
||||
updated_at: 2026-02-04T16:10:13Z
|
||||
parent: nuzlocke-tracker-f5ob
|
||||
blocking:
|
||||
- nuzlocke-tracker-l7e3
|
||||
- nuzlocke-tracker-bkhs
|
||||
---
|
||||
|
||||
Set up the backend API project with chosen framework and structure.
|
||||
|
||||
## Checklist
|
||||
- [x] Choose backend framework (Node.js/Express, Fastify, NestJS, Go, Python/FastAPI, etc.) - **Python/FastAPI**
|
||||
- [x] Initialize backend project
|
||||
- [x] Set up TypeScript (if applicable) - N/A (Python with type hints via Pydantic)
|
||||
- [x] Configure linting and formatting - **ruff**
|
||||
- [x] Set up project structure (routes, controllers, services, models)
|
||||
- [x] Add environment configuration (.env handling) - **pydantic-settings**
|
||||
- [x] Set up development server with hot reload - **uvicorn --reload**
|
||||
- [x] Add basic health check endpoint - `/health` and `/`
|
||||
|
||||
## Considerations
|
||||
- Should match team's expertise
|
||||
- Consider ease of deployment
|
||||
- TypeScript preferred for type safety with frontend
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
# nuzlocke-tracker-55kp
|
||||
title: Docker Development Environment Setup
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-04T16:07:25Z
|
||||
updated_at: 2026-02-04T16:13:04Z
|
||||
parent: nuzlocke-tracker-f5ob
|
||||
---
|
||||
|
||||
Set up Docker and docker-compose for local development environment.
|
||||
|
||||
## Checklist
|
||||
- [x] Create Dockerfile for backend API
|
||||
- [x] Create Dockerfile for frontend (if needed)
|
||||
- [x] Create docker-compose.yml with services (api, db, frontend)
|
||||
- [x] Add PostgreSQL service configuration
|
||||
- [x] Configure volume mounts for hot reload
|
||||
- [x] Add environment variable handling
|
||||
- [x] Create .dockerignore files
|
||||
- [x] Document usage in README
|
||||
|
||||
## Notes
|
||||
- Should support hot reload for development
|
||||
- Database data should persist between restarts
|
||||
35
.beans/nuzlocke-tracker-8fcj--local-storage-persistence.md
Normal file
35
.beans/nuzlocke-tracker-8fcj--local-storage-persistence.md
Normal file
@@ -0,0 +1,35 @@
|
||||
---
|
||||
# nuzlocke-tracker-8fcj
|
||||
title: Frontend API Integration
|
||||
status: todo
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-04T15:44:42Z
|
||||
updated_at: 2026-02-04T15:47:24Z
|
||||
parent: nuzlocke-tracker-f5ob
|
||||
blocking:
|
||||
- nuzlocke-tracker-uw2j
|
||||
- nuzlocke-tracker-0q8f
|
||||
- nuzlocke-tracker-hm6t
|
||||
- nuzlocke-tracker-8tuw
|
||||
---
|
||||
|
||||
Implement frontend services to communicate with the backend API.
|
||||
|
||||
## Checklist
|
||||
- [ ] Create API client/service layer
|
||||
- [ ] Implement API calls for:
|
||||
- [ ] Fetch available games
|
||||
- [ ] Fetch routes for a game
|
||||
- [ ] Fetch Pokémon data
|
||||
- [ ] Create/update/delete Nuzlocke runs
|
||||
- [ ] Create/update encounters
|
||||
- [ ] Update Pokémon status
|
||||
- [ ] Add loading states and error handling
|
||||
- [ ] Implement optimistic updates where appropriate
|
||||
- [ ] Add retry logic for failed requests
|
||||
|
||||
## Technical Notes
|
||||
- Use fetch or axios for HTTP requests
|
||||
- Consider using React Query/TanStack Query or SWR for caching
|
||||
- Type API responses with TypeScript
|
||||
29
.beans/nuzlocke-tracker-8tuw--run-dashboardoverview.md
Normal file
29
.beans/nuzlocke-tracker-8tuw--run-dashboardoverview.md
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
# nuzlocke-tracker-8tuw
|
||||
title: Run Dashboard/Overview
|
||||
status: todo
|
||||
type: task
|
||||
created_at: 2026-02-04T15:44:38Z
|
||||
updated_at: 2026-02-04T15:44:38Z
|
||||
parent: nuzlocke-tracker-f5ob
|
||||
---
|
||||
|
||||
Create the main dashboard showing the current state of the Nuzlocke run.
|
||||
|
||||
## Checklist
|
||||
- [ ] Display current team (up to 6 alive Pokémon)
|
||||
- [ ] Show run statistics:
|
||||
- [ ] Total encounters (caught/failed/skipped)
|
||||
- [ ] Total deaths
|
||||
- [ ] Routes completed
|
||||
- [ ] Quick navigation to:
|
||||
- [ ] Route list / encounter tracking
|
||||
- [ ] Box (stored Pokémon)
|
||||
- [ ] Graveyard (fallen Pokémon)
|
||||
- [ ] Show active rules as badges/icons
|
||||
- [ ] Display game name and run start date
|
||||
|
||||
## UX Considerations
|
||||
- This is the home screen users return to most
|
||||
- Keep it clean and informative at a glance
|
||||
- Easy access to add new encounters
|
||||
@@ -0,0 +1,40 @@
|
||||
---
|
||||
# nuzlocke-tracker-bkhs
|
||||
title: API Endpoints Implementation
|
||||
status: todo
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-04T15:46:59Z
|
||||
updated_at: 2026-02-04T15:47:23Z
|
||||
parent: nuzlocke-tracker-f5ob
|
||||
blocking:
|
||||
- nuzlocke-tracker-8fcj
|
||||
- nuzlocke-tracker-hy41
|
||||
---
|
||||
|
||||
Implement the REST/GraphQL API endpoints for the tracker.
|
||||
|
||||
## Checklist
|
||||
- [ ] Reference Data endpoints (read-only for tracker):
|
||||
- [ ] GET /api/games - List all games
|
||||
- [ ] GET /api/games/:id - Get game details with routes
|
||||
- [ ] GET /api/games/:id/routes - List routes for a game
|
||||
- [ ] GET /api/routes/:id/pokemon - List available Pokémon for a route
|
||||
- [ ] GET /api/pokemon/:id - Get Pokémon details
|
||||
- [ ] Run Management endpoints:
|
||||
- [ ] POST /api/runs - Create new run
|
||||
- [ ] GET /api/runs - List all runs
|
||||
- [ ] GET /api/runs/:id - Get run details with encounters
|
||||
- [ ] PATCH /api/runs/:id - Update run (settings, status)
|
||||
- [ ] DELETE /api/runs/:id - Delete a run
|
||||
- [ ] Encounter endpoints:
|
||||
- [ ] POST /api/runs/:id/encounters - Log new encounter
|
||||
- [ ] PATCH /api/encounters/:id - Update encounter (status, nickname)
|
||||
- [ ] DELETE /api/encounters/:id - Remove encounter
|
||||
- [ ] Add request validation
|
||||
- [ ] Add proper error responses
|
||||
|
||||
## Notes
|
||||
- Follow REST conventions
|
||||
- Return appropriate HTTP status codes
|
||||
- Include pagination for list endpoints if needed
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
# nuzlocke-tracker-dgax
|
||||
title: Nuzlocke Rules Configuration
|
||||
status: completed
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-04T15:44:22Z
|
||||
updated_at: 2026-02-04T15:58:43Z
|
||||
parent: nuzlocke-tracker-f5ob
|
||||
---
|
||||
|
||||
Create the rules/difficulty settings screen for customizing the Nuzlocke run.
|
||||
|
||||
## Checklist
|
||||
- [x] Create rules configuration component
|
||||
- [x] Implement core Nuzlocke rules toggles:
|
||||
- [x] Standard rules (catch first encounter only, permadeath)
|
||||
- [x] Nickname requirement toggle
|
||||
- [x] Duplicates clause (can skip already-caught species)
|
||||
- [x] Shiny clause (can catch shinies regardless)
|
||||
- [x] Add optional difficulty modifiers:
|
||||
- [x] Hardcore mode (no items in battle)
|
||||
- [x] Level caps (can't overlevel gym leaders)
|
||||
- [x] Set mode only (no switch after KO)
|
||||
- [x] Persist selected rules to run state (local state; backend API TBD)
|
||||
- [x] Show rule explanations/tooltips
|
||||
|
||||
## Notes
|
||||
- Rules should be toggleable after run starts (user preference)
|
||||
- Default to standard Nuzlocke rules
|
||||
39
.beans/nuzlocke-tracker-f0fm--romhack-integration.md
Normal file
39
.beans/nuzlocke-tracker-f0fm--romhack-integration.md
Normal file
@@ -0,0 +1,39 @@
|
||||
---
|
||||
# nuzlocke-tracker-f0fm
|
||||
title: Romhack Integration
|
||||
status: draft
|
||||
type: epic
|
||||
created_at: 2026-02-04T15:48:34Z
|
||||
updated_at: 2026-02-04T15:48:34Z
|
||||
---
|
||||
|
||||
Support for tracking Nuzlocke runs in popular Pokémon romhacks, which often feature custom routes, modified Pokémon, new regional forms, and altered encounter tables.
|
||||
|
||||
## Goals
|
||||
- Allow users to track Nuzlocke runs in popular romhacks
|
||||
- Support custom game definitions with modified data
|
||||
- Enable community contributions of romhack data
|
||||
|
||||
## Potential Features (to be planned)
|
||||
- Custom game creation via admin panel
|
||||
- Import/export game definitions (JSON format)
|
||||
- Support for romhack-specific mechanics:
|
||||
- Custom regional forms / Fakemon
|
||||
- Modified type charts
|
||||
- New areas and routes
|
||||
- Changed encounter tables
|
||||
- Level cap modifications
|
||||
- Community sharing of romhack definitions
|
||||
- Popular romhack presets:
|
||||
- Pokémon Radical Red
|
||||
- Pokémon Emerald Kaizo
|
||||
- Pokémon Unbound
|
||||
- Pokémon Inclement Emerald
|
||||
- Pokémon Renegade Platinum
|
||||
|
||||
## Dependencies
|
||||
- Requires MVP to be complete first
|
||||
- Admin panel must support flexible game creation
|
||||
|
||||
## Notes
|
||||
This is a long-term goal. Tasks will be defined after MVP is complete and we better understand the data requirements for romhack support.
|
||||
35
.beans/nuzlocke-tracker-f5ob--mvp-core-nuzlocke-tracker.md
Normal file
35
.beans/nuzlocke-tracker-f5ob--mvp-core-nuzlocke-tracker.md
Normal file
@@ -0,0 +1,35 @@
|
||||
---
|
||||
# nuzlocke-tracker-f5ob
|
||||
title: MVP - Core Nuzlocke Tracker
|
||||
status: in-progress
|
||||
type: epic
|
||||
priority: normal
|
||||
created_at: 2026-02-04T15:43:34Z
|
||||
updated_at: 2026-02-04T15:48:38Z
|
||||
blocking:
|
||||
- nuzlocke-tracker-f0fm
|
||||
---
|
||||
|
||||
The minimum viable product for the Nuzlocke Tracker application. This epic covers the essential features needed for a user to track a basic Nuzlocke run.
|
||||
|
||||
## Architecture
|
||||
- **Frontend**: Web application for users to track their runs
|
||||
- **Backend API**: RESTful or GraphQL API for data persistence
|
||||
- **Database**: Persistent storage for game data, user runs, and encounters
|
||||
- **Admin Panel**: Interface for managing reference data (games, routes, Pokémon)
|
||||
|
||||
## Goals
|
||||
- Allow users to select a Pokémon game to play
|
||||
- Support optional difficulty/rule settings
|
||||
- Track encounters per route/area
|
||||
- Track Pokémon status (alive, dead, boxed)
|
||||
- Provide a clear overview of the current run
|
||||
- Admin can manage game/route/Pokémon reference data
|
||||
|
||||
## Out of Scope for MVP
|
||||
- User authentication (single user assumed)
|
||||
- Multiple simultaneous runs
|
||||
- Cloud sync across devices
|
||||
- Team builder/planner
|
||||
- Detailed statistics and analytics
|
||||
- Social features
|
||||
30
.beans/nuzlocke-tracker-hm6t--pokemon-status-management.md
Normal file
30
.beans/nuzlocke-tracker-hm6t--pokemon-status-management.md
Normal file
@@ -0,0 +1,30 @@
|
||||
---
|
||||
# nuzlocke-tracker-hm6t
|
||||
title: Pokemon Status Management
|
||||
status: todo
|
||||
type: task
|
||||
created_at: 2026-02-04T15:44:37Z
|
||||
updated_at: 2026-02-04T15:44:37Z
|
||||
parent: nuzlocke-tracker-f5ob
|
||||
---
|
||||
|
||||
Implement the system for tracking Pokémon status (alive, dead, boxed).
|
||||
|
||||
## Checklist
|
||||
- [ ] Create Pokémon card/tile component showing:
|
||||
- [ ] Sprite, name, nickname
|
||||
- [ ] Current status with visual indicator
|
||||
- [ ] Location caught
|
||||
- [ ] Implement status transitions:
|
||||
- [ ] Alive → Dead (fainted in battle)
|
||||
- [ ] Alive → Boxed (stored in PC)
|
||||
- [ ] Boxed → Alive (added to party)
|
||||
- [ ] Add death recording:
|
||||
- [ ] Optional: record cause of death (trainer, wild, gym leader)
|
||||
- [ ] Optional: record level at death
|
||||
- [ ] Create "Graveyard" view for fallen Pokémon
|
||||
- [ ] Create "Box" view for stored Pokémon
|
||||
|
||||
## Notes
|
||||
- Status changes should be confirmable (prevent accidental deaths)
|
||||
- Consider undo functionality for misclicks
|
||||
42
.beans/nuzlocke-tracker-hy41--admin-panel.md
Normal file
42
.beans/nuzlocke-tracker-hy41--admin-panel.md
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
# nuzlocke-tracker-hy41
|
||||
title: Admin Panel
|
||||
status: todo
|
||||
type: task
|
||||
created_at: 2026-02-04T15:47:05Z
|
||||
updated_at: 2026-02-04T15:47:05Z
|
||||
parent: nuzlocke-tracker-f5ob
|
||||
---
|
||||
|
||||
Build an admin interface for managing reference data.
|
||||
|
||||
## Checklist
|
||||
- [ ] Create admin routes/pages separate from tracker
|
||||
- [ ] Game Management:
|
||||
- [ ] List all games
|
||||
- [ ] Add new game
|
||||
- [ ] Edit game details
|
||||
- [ ] Delete game (with cascade warning)
|
||||
- [ ] Route Management:
|
||||
- [ ] List routes for a game
|
||||
- [ ] Add new route
|
||||
- [ ] Edit route details (name, order)
|
||||
- [ ] Delete route
|
||||
- [ ] Reorder routes via drag-and-drop
|
||||
- [ ] Route Pokémon Assignment:
|
||||
- [ ] View Pokémon available on a route
|
||||
- [ ] Add Pokémon to route
|
||||
- [ ] Remove Pokémon from route
|
||||
- [ ] Set encounter rates/methods
|
||||
- [ ] Pokémon Management:
|
||||
- [ ] List all Pokémon
|
||||
- [ ] Add new Pokémon
|
||||
- [ ] Edit Pokémon details
|
||||
- [ ] Bulk import from CSV/JSON
|
||||
- [ ] Admin API endpoints:
|
||||
- [ ] POST/PUT/DELETE for games, routes, pokemon, route_pokemon
|
||||
|
||||
## Notes
|
||||
- Can be a simple CRUD interface
|
||||
- Consider using a UI library for tables/forms
|
||||
- No auth required for MVP (assume local/trusted use)
|
||||
31
.beans/nuzlocke-tracker-k5lm--pokemon-game-database.md
Normal file
31
.beans/nuzlocke-tracker-k5lm--pokemon-game-database.md
Normal file
@@ -0,0 +1,31 @@
|
||||
---
|
||||
# nuzlocke-tracker-k5lm
|
||||
title: Initial Game Data Seeding
|
||||
status: todo
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-04T15:44:12Z
|
||||
updated_at: 2026-02-04T15:47:29Z
|
||||
parent: nuzlocke-tracker-f5ob
|
||||
---
|
||||
|
||||
Create seed data for the database with initial games, routes, and Pokémon.
|
||||
|
||||
## Checklist
|
||||
- [ ] Research and compile data for MVP games:
|
||||
- [ ] Pokémon FireRed/LeafGreen (Gen 3 Kanto remakes - popular for Nuzlockes)
|
||||
- [ ] Pokémon Emerald (Gen 3 Hoenn)
|
||||
- [ ] Pokémon HeartGold/SoulSilver (Gen 4 Johto remakes)
|
||||
- [ ] For each game, gather:
|
||||
- [ ] All routes/areas in progression order
|
||||
- [ ] Available wild Pokémon per route
|
||||
- [ ] Encounter methods (grass, surf, fish, etc.)
|
||||
- [ ] Create seed scripts/migrations to populate database
|
||||
- [ ] Include Pokémon base data (national dex, names, types, sprite URLs)
|
||||
- [ ] Document data sources for attribution
|
||||
|
||||
## Notes
|
||||
- Use PokeAPI or Bulbapedia as data sources
|
||||
- Admin panel allows adding more games later
|
||||
- Focus on accuracy for the 3 MVP games
|
||||
- Sprite URLs can point to existing sprite repositories
|
||||
35
.beans/nuzlocke-tracker-l7e3--database-schema-design.md
Normal file
35
.beans/nuzlocke-tracker-l7e3--database-schema-design.md
Normal file
@@ -0,0 +1,35 @@
|
||||
---
|
||||
# nuzlocke-tracker-l7e3
|
||||
title: Database Schema Design
|
||||
status: todo
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-04T15:46:54Z
|
||||
updated_at: 2026-02-04T15:47:23Z
|
||||
parent: nuzlocke-tracker-f5ob
|
||||
blocking:
|
||||
- nuzlocke-tracker-bkhs
|
||||
- nuzlocke-tracker-k5lm
|
||||
- nuzlocke-tracker-hy41
|
||||
---
|
||||
|
||||
Design and implement the database schema for persistent storage.
|
||||
|
||||
## Checklist
|
||||
- [ ] Choose database (PostgreSQL, SQLite, MongoDB, etc.)
|
||||
- [ ] Set up database connection and ORM/query builder
|
||||
- [ ] Design and create tables/collections:
|
||||
- [ ] Games (id, name, generation, region)
|
||||
- [ ] Routes (id, name, game_id, order, encounter_method)
|
||||
- [ ] Pokemon (national_dex, name, types, sprite_url)
|
||||
- [ ] RouteEncounters (route_id, pokemon_id, encounter_rate)
|
||||
- [ ] NuzlockeRuns (id, game_id, settings, started_at, status)
|
||||
- [ ] Encounters (id, run_id, route_id, pokemon_id, nickname, status, caught_at)
|
||||
- [ ] Set up migrations system
|
||||
- [ ] Add seed data for initial games/routes/Pokémon
|
||||
- [ ] Create indexes for common queries
|
||||
|
||||
## Notes
|
||||
- Consider SQLite for simplicity in MVP, can migrate later
|
||||
- Use foreign keys for referential integrity
|
||||
- Status fields should be enums
|
||||
14
.beans/nuzlocke-tracker-p940--gitignore-setup.md
Normal file
14
.beans/nuzlocke-tracker-p940--gitignore-setup.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
# nuzlocke-tracker-p940
|
||||
title: gitignore-setup
|
||||
status: completed
|
||||
type: task
|
||||
priority: high
|
||||
created_at: 2026-02-04T15:58:22Z
|
||||
updated_at: 2026-02-04T16:01:15Z
|
||||
parent: nuzlocke-tracker-f5ob
|
||||
---
|
||||
|
||||
Create an overarching gitignore, taking into account that there are gitignore files in the individual component folders.
|
||||
- [x] Git should ignore anything that could leak credentials
|
||||
- [x] Git should ignore anything specific to my local environment
|
||||
29
.beans/nuzlocke-tracker-sm1b--game-data-models-types.md
Normal file
29
.beans/nuzlocke-tracker-sm1b--game-data-models-types.md
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
# nuzlocke-tracker-sm1b
|
||||
title: Game Data Models & Types
|
||||
status: todo
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-04T15:44:08Z
|
||||
updated_at: 2026-02-04T15:45:00Z
|
||||
parent: nuzlocke-tracker-f5ob
|
||||
blocking:
|
||||
- nuzlocke-tracker-k5lm
|
||||
- nuzlocke-tracker-0q8f
|
||||
- nuzlocke-tracker-hm6t
|
||||
- nuzlocke-tracker-8fcj
|
||||
---
|
||||
|
||||
Define the core data structures and TypeScript types for the application.
|
||||
|
||||
## Checklist
|
||||
- [ ] Define Game type (id, name, generation, region, routes)
|
||||
- [ ] Define Route/Area type (id, name, available Pokémon, game)
|
||||
- [ ] Define Pokemon type (national dex number, name, types, sprite URL)
|
||||
- [ ] Define Encounter type (route, pokemon, nickname, status, caught date)
|
||||
- [ ] Define NuzlockeRun type (game, settings, encounters, start date)
|
||||
- [ ] Define RuleSettings type (hardcore mode, level caps, duplicates clause, etc.)
|
||||
|
||||
## Notes
|
||||
- Keep types flexible for future expansion
|
||||
- Consider using discriminated unions for status types
|
||||
24
.beans/nuzlocke-tracker-uw2j--game-selection-screen.md
Normal file
24
.beans/nuzlocke-tracker-uw2j--game-selection-screen.md
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
# nuzlocke-tracker-uw2j
|
||||
title: Game Selection Screen
|
||||
status: todo
|
||||
type: task
|
||||
created_at: 2026-02-04T15:44:16Z
|
||||
updated_at: 2026-02-04T15:44:16Z
|
||||
parent: nuzlocke-tracker-f5ob
|
||||
---
|
||||
|
||||
Build the initial screen where users select which Pokémon game they want to track.
|
||||
|
||||
## Checklist
|
||||
- [ ] Create game selection component
|
||||
- [ ] Display games grouped by generation
|
||||
- [ ] Show game artwork/logo for each option
|
||||
- [ ] Add search/filter functionality for games
|
||||
- [ ] Navigate to rule settings after selection
|
||||
- [ ] Allow returning to change game selection
|
||||
|
||||
## UX Considerations
|
||||
- Games should be visually recognizable
|
||||
- Consider showing regional variants (e.g., Kanto games together)
|
||||
- Mobile-friendly grid/list layout
|
||||
Reference in New Issue
Block a user