👉 https://pokedex-game-blond.vercel.app
👉 https://unique-achievement-production-6621.up.railway.app
👉 https://considerate-alignment-production-2d97.up.railway.app
Pokédex Game is a full-stack Pokémon-inspired web application where users can register, log in, choose a starter Pokémon, explore the Pokédex, battle NPC trainers using turn-based combat, and communicate with nearby players through a multiplayer chat system.
The project follows a microservice architecture by separating authentication/game management and battle calculations into independent backend services.
- Secure User Registration
- JWT Authentication
- Login / Logout
- Session Validation
- Protected Routes
-
Choose one starter Pokémon
- 🌱 Bulbasaur
- 🔥 Charmander
- 💧 Squirtle
-
Trainer Progression
-
NPC Battles
-
Boss Battles
-
HP Tracking
-
Experience System
-
Level Progression
- Turn-based battle engine
- Speed-based turn order
- Damage calculation
- Critical Hits
- Type Effectiveness
- Move Accuracy
- Status Effects
- Healing Moves
- Multi-hit Moves
- Pokémon Search
- Pokémon Details
- Stats
- Types
- Official Artwork
- Responsive UI
- Real-time Chat
- Nearby Player Detection
- Socket.IO Communication
- Player Movement
- Live User Positions
- Trainer Management
- Pokémon Storage
- Battle Progress
- Move Storage
- Authentication
React + Vite
│
┌────────────┴────────────┐
│ │
▼ ▼
Node.js Backend Python FastAPI
(Authentication) (Battle Engine)
│ │
└────────────┬────────────┘
│
MySQL
(Docker)
- React.js
- Vite
- Tailwind CSS
- Axios
- React Router
- Socket.IO Client
- Node.js
- Express.js
- JWT Authentication
- bcrypt
- MySQL
- Python
- FastAPI
- Pydantic
- MySQL
- Docker
- Vercel
- Railway
- GitHub
Pokedex-Game
│
├── frontend
│ ├── components
│ ├── pages
│ ├── assets
│ └── App.jsx
│
├── backend
│ ├── routes
│ ├── config
│ ├── database
│ └── server.js
│
├── battle-logic-service
│ ├── level1.py
│ ├── main.py
│ ├── models.py
│ ├── utils.py
│ └── level1.json
│
└── docker-compose.yml
git clone https://github.com/himanshusinghpatel998/pokedex-game.git
cd pokedex-gamedocker-compose up -dcd backend
npm install
npm run devcd battle-logic-service
pip install -r requirements.txt
python main.pycd frontend
npm install
npm run devCreate a .env file:
JWT_SECRET=your_secret_key
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=trainer- Vercel
- Railway
- Railway
- Docker + MySQL
POST /api/register
POST /api/login
GET /api/validate
POST /api/choose-starter
GET /trainer/:id/data
GET /level/1
POST /simulate_battle/
POST /calculate_damage/
POST /turn_order/
POST /add_experience/
Register
│
▼
Login
│
▼
Choose Starter Pokémon
│
▼
Enter Game
│
▼
Explore Ground
│
▼
Battle NPC Trainers
│
▼
Gain Experience
│
▼
Fight Boss
Add screenshots here.
- Login Page
- Registration Page
- Starter Selection
- Pokédex
- Battle Screen
- Chat Ground
- Battle Victory
- PvP Battles
- Pokémon Evolution
- Inventory System
- Items
- Trading
- Multiple Levels
- Save Battle History
- Leaderboards
- Pokémon Capture System
Himanshu Singh Patel
GitHub: https://github.com/himanshusinghpatel998
If you like this project, please consider giving it a ⭐ on GitHub.
It helps others discover the project and supports future improvements.
This project is developed for educational and learning purposes.