Josh Creek 955cba1aaa fix(forms): supplement game-scoped dex entries with alternate forms
When a Pokédex has a game scope set and isFormDex=true, alternate forms
were not appearing because game_pokedex_entries only contains base-form
Pokémon. This adds fetchFormsForGame() to pull supplemental form entries
from pokedex_entries filtered by gamesToCatchIn, then merges and sorts
them using the base form's regional dex number so ordering is preserved.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-16 13:16:29 +01:00
2026-01-18 13:14:18 +00:00
2024-04-07 15:44:17 +01:00
2024-03-09 21:28:07 +00:00
2024-03-09 21:28:07 +00:00
2024-03-09 21:09:47 +00:00
2026-01-25 09:09:49 +00:00
2024-04-07 15:12:59 +01:00
2024-04-14 16:03:01 +01:00
2024-07-15 20:49:36 +01:00
2026-01-17 23:30:40 +00:00

Living Dex Tracker

A web app to track completion of a living Pokédex.

Developing

  1. Clone the repository

  2. Install the dependencies with npm install

  3. Ensure that Docker is running

  4. An example .env file is provided in the repository. You will need to copy .env.example to .env and fill in the values with your own credentials. For local development with Supabase running in Docker, you can use the following values:

    • The PUBLIC_SUPABASE_URL will be "http://127.0.0.1:54321"
    • The PUBLIC_SUPABASE_ANON_KEY will be the 'Publishable' authentication key displayed when you run Supabase in the terminal
    • The SUPABASE_SERVICE_ROLE_KEY will be the 'Secret' authentication key displayed when you run Supabase in the terminal
  5. Start local Supabase and a development server with npm run dev:supabase

  6. The Pokédex data is automatically seeded via database migrations when Supabase starts

  7. Create an account using the sign-up form and access the email it sends in MailPit to verify your email address. N.B. All local emails are captured by MailPit when running Supabase in Docker.

  8. You can now use the app.

Reference Data Updates

The seed data lives in supabase/migrations/20260118001000_seed_reference_data.sql. Update that migration directly when new data is added. You can access a local copy of Supabase to check it.

Building

To create a production version:

npm run build

You can preview the production build with npm run preview.

Sprites

The app uses WebP sprites from static/sprites-small. During builds we generate this folder from the full-resolution PNGs in static/sprites:

npm run sprites:build

If you want to serve sprites locally, set PUBLIC_USE_LOCAL_POKEMON_SPRITE_FOLDER="true" in .env. Otherwise the app defaults to GitHub raw for static/sprites-small.

Hosting

The app is hosted on Netlify at pokedex.jcreek.co.uk.

The Pokédex data is stored in a Supabase database.

User authentication is handled by Supabase Auth.

Dependencies

The living dex tracker's sprite collection is derived from PokéAPI Sprites and converted to smaller WebP files in static/sprites-small. PokéAPI sprites are licensed under the Creative Commons CC0 1.0 Universal license.

S
Description
No description provided
Readme GPL-3.0 412 MiB
Languages
TypeScript 45.8%
Svelte 45.1%
PLpgSQL 5.5%
JavaScript 3.3%
HTML 0.3%