Frontend project developed during the Academlo bootcamp. It consumes the public PokeAPI and provides a responsive interface to explore Pokémon, filter them by name or type, and view detailed information for each one. This project was built as a learning exercise focused on React fundamentals, routing, API consumption, reusable components, and state management patterns.
- Features
- Tech Stack
- Project Structure
- How to Run
- Usage
- Screenshots or Evidence
- Notes
- Limitations
- Status
- Author
- Pokémon list visualization using data from PokeAPI
- Filter by Pokémon name and type
- Detailed Pokémon view with full stats on dynamic routes
- Protected routes with a simple name-based access flow
- Dynamic visual styles based on Pokémon type
- Responsive layout for desktop and mobile
- Simple pagination for browsing large result sets
- Reusable React components and list rendering
Frontend
- React
- Vite
- JavaScript
- CSS
Libraries / Services
- Axios
- React Router
- PokeAPI
- Netlify
Architecture / Patterns
- React Context API
- Custom Hooks
- Reusable components
- Conditional rendering
- List rendering
Tools
- npm
- Git
- GitHub
src/api: API consumption through a shared Axios instancesrc/assets: Static assets such as images and visual resourcessrc/components: Reusable UI componentssrc/context: Global state management with React Contextsrc/hooks: Custom hooks such as pagination logicsrc/pages: Main application views/pagessrc/router: Route definitions and navigation flowsrc/services: Requests built on top of the shared Axios instancesrc/main.jsx: Application entry point
- Node.js installed
- npm installed
- Git installed
git clone [REPOSITORY URL]
cd PokeAppnpm installnpm run devOpen your browser and visit:
http://localhost:5173You can test:
- the registration flow by entering a name
- protected routes
- filtering by name or type
- pagination
- responsive behavior using browser developer tools
- Open the application in the browser.
- Enter your name to access the protected Pokédex flow.
- Browse the Pokémon list and use filters by name or type.
- Open any Pokémon card to view its detailed stats page.
- Test the interface on different screen sizes if desired.
- Live demo: pokeapp-miguelgaravito.netlify.app
- This project was created as part of the Academlo bootcamp as a frontend learning exercise.
- The repository focuses on demonstrating React fundamentals such as routing, protected routes, API consumption, context usage, pagination, and reusable components.
npm auditmay report vulnerabilities related to legacy dependency versions used in the original learning setup. At the time of writing, fixing them automatically would require major version upgrades that may introduce breaking changes, so they were not prioritized for this portfolio version.
- The route protection is educational and simple; it is not a real authentication system.
- The project depends on a third-party public API, so availability and response structure are external factors.
- Some dependencies come from the original bootcamp setup and were not aggressively upgraded to avoid unnecessary breakage in a stable portfolio version.
- No automated tests were added to this project.
Completed bootcamp project, currently kept as a portfolio and learning repository.
Miguel Garavito
- Portfolio: miguelgaravito.netlify.app
- LinkedIn: linkedin.com/in/miguel-ángel-garavito-camargo
This project is for educational and portfolio purposes.