A beautifully designed, feature-rich Pokédex built with Next.js (React), Tailwind CSS, React Query, and PokeAPI.
Live Web App: https://pokedex-db.vercel.app/.
Feel free to explore the app and its features!
Pokémon List
Items List
Favorites
localStorage
. Animated Transitions
framer-motion
layout animations for smooth grid reflows.Accessible UI
Offline-Friendly
and more!
@tanstack/react-query
) Clone the repo
git clone [email protected]:hoangsonww/The-Pokedex-Database.git
# or use https
git clone https://github.com/hoangsonww/The-Pokedex-Database.git
# then navigate to the web directory
cd The-Pokedex-Database/web
Install dependencies
npm install
# or
yarn install
npm run dev
# or
yarn dev
Open http://localhost:3000 in your browser to view the app.
No environment variables are required. All data is fetched directly from the PokeAPI.
This app consumes the following PokeAPI endpoints:
Method | Endpoint | Description |
---|---|---|
GET | /pokemon?limit=48&offset=<offset> |
Paginated list of Pokémon |
GET | /pokemon?limit=100000&offset=0 |
Full list (for search/favorites cache) |
Method | Endpoint | Description |
---|---|---|
GET | /item?limit=48&offset=<offset> |
Paginated list of items |
GET | /item?limit=100000&offset=0 |
Full item list (for search caching) |
All responses conform to the PokeAPI schema: count, next, previous, results.
/
├── components/
│ ├── PokemonCard.tsx
│ ├── ItemCard.tsx
│ └── Pagination.tsx
├── data/
│ └── models/ # TypeScript interfaces (Pokedex, ItemList)
├── pages/
│ └── index.tsx # Home page (Pokémon, Items, Favorites)
├── styles/
│ └── globals.css # Tailwind base styles
├── public/ # Favicons, manifest, images
├── README.md
├── package.json
├── tsconfig.json
└── tailwind.config.js
Contributions welcome! Feel free to open issues or submit pull requests.
git checkout -b feature/YourFeature
)git commit -m "feat: add your feature"
)git push origin feature/YourFeature
)This project is licensed under the MIT License.