How buzadandeveloper/rxjs-poke-games works
This React app is a Pokémon-themed learning project with a Pokédex and a memory game. Users enter through the app router; the main domain branches are browsing Pokémon and playing a matching game. The documented reactive-state learning goal is reflected in the stores and API service layer. Sampled code confirms the app-to-router and service-to-client calls; page, store, and persistence wiring is not shown in the excerpts, so those links are omitted.
Main entry points: main.tsx React entry · app.tsx App · api-client.ts API client · index.ts Pokémon service
Components 21
App shell
- React entry
src/main.tsx - App
src/app/app.tsx - Router
src/app/router/index.tsx - Main layout
src/layouts/main-layout/main-layout.tsx - Home page
src/pages/home/home-page.tsx
Pokédex
- Pokédex page
src/pages/poke-dex/poke-dex-page.tsx - Pokémon list
src/pages/poke-dex/components/poke-dex-list/poke-dex-list.tsx - Pokémon card
src/pages/poke-dex/components/poke-dex-list/poke-dex-card.tsx - Info modal
src/pages/poke-dex/components/poke-dex-list/poke-dex-info-modal.tsx - Pokédex store
src/stores/poke-dex/poke-dex-store.ts
Memory game
- Game page
src/pages/poke-memory-game/poke-memory-game-page.tsx - Deck selection
src/pages/poke-memory-game/components/select-deck/select-deck.tsx - Card deck
src/pages/poke-memory-game/components/deck-list/deck-list.tsx - Game score
src/pages/poke-memory-game/components/game-score.tsx - Win dialog
src/pages/poke-memory-game/components/game-win-dialog.tsx - Game store
src/stores/poke-memory-game/poke-memory-game-store.ts - Best-turn storage
src/utils/local-storage.ts
Data services
- Pokémon service
src/service/index.ts - API client
src/lib/api-client.ts
Other components
- User
- PokéAPI
Connections 5
- User → React entry: opens app
- React entry → App: renders
- App → Router: provides routes
- Pokémon service → API client: requests data
- API client → PokéAPI: GETs Pokémon