Welcome to Gotta Fetch() 'Em All! This is a fun and interactive web application built with React and Node.js, leveraging the PokeAPI to bring the excitement of Pokémon battles right to your browser. In this app, you can battle Pokémon from different areas, collect new ones, and manage your team based on your victories and defeats.
Gotta Fetch() 'Em All is a single-page application that allows users to:
- Select areas to encounter and battle Pokémon.
- Capture defeated Pokémon if you win the battle.
- Lose your current Pokémon if you lose the battle.
The app is designed with a frontend in React.
- Area Selection: Choose different areas to battle Pokémon with varying difficulty.
- Battling Mechanics: Engage in battles and test your Pokémon's skills against random opponents.
- Capture System: Win battles to add defeated Pokémon to your collection.
- Loss Consequence: Lose battles to potentially lose your current Pokémon.
- Pokédex Integration: View Pokémon details and stats using the PokeAPI.
- Frontend: React
- API: PokeAPI (to fetch Pokémon data and battle mechanics)
- State Management: React hooks and context
Ensure you have the following installed:
- Node.js (which includes npm)
-
Clone the Repository
git clone https://github.com/yourusername/gotta-fetch-them-all.git cd gotta-fetch-them-all
-
Install Dependencies
Navigate to both the
frontend
andbackend
directories and run:npm install
-
Start the Application
cd frontend npm start
The React app should now be running on
http://localhost:3000
(or another port if specified), and the Node.js server will handle any server-side logic.
-
Select an Area: Use the area selection menu to choose a location for your Pokémon battle.
-
Battle: Engage in battles against Pokémon from the chosen area. The outcome depends on your Pokémon's stats and battle strategy.
-
Capture or Lose: Depending on the battle result:
- Win: Add the defeated Pokémon to your collection.
- Lose: Your current Pokémon is lost.
-
View Your Collection: Check your Pokémon collection to see the Pokémon you have captured.
This project uses Jest and React Testing Library for unit testing.
-
Install dependencies (If you haven't already)
npm install
-
Run tests
npm test
For any questions or feedback, please reach out to the project maintainer:
Enjoy battling and collecting Pokémon in Gotta Fetch() 'Em All!