91 forms only work when all games is selected
Living Dex Tracker
A web app to track completion of a living Pokédex.
Developing
-
Clone the repository
-
Install the dependencies with
npm install -
Ensure that Docker is running
-
An example
.envfile is provided in the repository. You will need to copy.env.exampleto.envand 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_URLwill be"http://127.0.0.1:54321" - The
PUBLIC_SUPABASE_ANON_KEYwill be the 'Publishable' authentication key displayed when you run Supabase in the terminal - The
SUPABASE_SERVICE_ROLE_KEYwill be the 'Secret' authentication key displayed when you run Supabase in the terminal
- The
-
Start local Supabase and a development server with
npm run dev:supabase -
The Pokédex data is automatically seeded via database migrations when Supabase starts
-
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.
-
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.