Pokédex is a web application written in TypeScript using the React library. It is a list of Pokémon with the ability to filter by type, search by name, and view details about each Pokémon.
This project was created as a recruitment task for a summer internship at Allegro (2020).
^ The latest version of the application is always running here.
If you want to run this project locally on your computer, navigate to your projects directory and clone this repo:
git clone https://github.com/srflp/pokedex.git
A pokedex directory will be created with the project. Go into it and install the required modules:
pnpm install
After installing the modules, the app can be started with pnpm dev.
It should start on port 3000.
- 2026-05-17 — Ran
checksande2eworkflows on pushes tomain(in addition to PRs). - 2026-05-17 — Replaced Prettier with oxfmt (the Oxc formatter, same family as oxlint): swapped the
format/format:checkscripts and renamed the CI job. Migrated ignore patterns from.prettierignoretoignorePatternsin a new.oxfmtrc.json. Adopted oxfmt's defaultprintWidth: 100(up from Prettier's 80), which reflowed lines across the codebase. - 2026-05-16 — Hardened the dependency update flow against supply-chain attacks: set
minimumReleaseAge: 4320(3 days) inpnpm-workspace.yamlso pnpm refuses to install package versions less than 72 hours old, and relocated Renovate config to.github/renovate.jsonwhile switching toconfig:best-practices(which enforces a complementary minimum release age at the PR-opening stage). - 2026-05-09 — Modernized the toolchain end-to-end: migrated from Create React App to Vite, replaced Redux Toolkit + Redux Saga with TanStack Query and file-based TanStack Router (typed URL params), bumped React to v19 with the React Compiler enabled and Prettier to v3, pinned Node 24, switched to pnpm, and added Playwright e2e + Renovate auto-merge with a
mainbranch ruleset. Addedformat/typecheck(tsgo --noEmit) /lint(oxlintwith React/TS/a11y/unicorn/import plugins) parallel PR checks plus an informationalbundle-sizeworkflow, and tightenedtsconfig.json(noUncheckedIndexedAccess,verbatimModuleSyntax, and friends) alongside aPokemonTypeliteral union replacing rawstringtyping for the 18 PokeAPI types. DroppedReact.FCfor the automatic JSX runtime, banned manual memoization (memo/useMemo/useCallback) viano-restricted-importssince the React Compiler owns that, and replacedstyled-componentswith vanilla-extract for zero-runtime type-safe styles (~11 kB gzip JS shaved against ~2 kB new CSS). - 2023-01-31 — Migrated to pnpm and bumped all dependencies.
- 2020-06-19 — Migrated state management to Redux and Redux Saga.
- 2020-04-16 — Initial release.