https://github.com/darioalbor/challengepokemon
Select your favorite Pokémon and participate in exciting strategic battles! 🚀
https://github.com/darioalbor/challengepokemon
material-ui nestjs pokemon reactjs sqlite typeorm
Last synced: about 2 months ago
JSON representation
Select your favorite Pokémon and participate in exciting strategic battles! 🚀
- Host: GitHub
- URL: https://github.com/darioalbor/challengepokemon
- Owner: DarioAlbor
- Created: 2024-06-26T16:55:44.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-27T04:11:34.000Z (almost 2 years ago)
- Last Synced: 2025-03-12T16:15:45.819Z (over 1 year ago)
- Topics: material-ui, nestjs, pokemon, reactjs, sqlite, typeorm
- Language: JavaScript
- Homepage: https://challengepokemon.vercel.app
- Size: 1.89 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🔴 Challenge Pokemon
[Español](README.md)
/ [Inglés](README_EN.md) 
## 📖 Sobre el proyecto
Este proyecto es un **juego de batalla entre pokémones** donde los jugadores pueden seleccionar sus pokémones y enfrentarse en una batalla estratégica. Utiliza un algoritmo específico para determinar el ganador basado en las estadísticas de los pokémones.
## 🧠 Algoritmo de batalla
- El pokemon con la velocidad más alta hace el primer ataque. Si son iguales, el pokemon con el ataque más alto va primero.
- Para calcular el daño, resta la defensa del ataque (ataque - defensa). La diferencia es el daño. Si el ataque es igual o menor que la defensa, el daño es 1.
- El daño se resta del HP.
- Los pokemon pelearán por turnos. Todos los turnos serán calculados en el mismo request, por lo que el endpoint debe retornar la data del ganador en la misma llamada.
- El ganador es el que reduzca el HP del enemigo a cero.
- Se implementó el sistema de tipos, pero no interactúa en el algoritmo de batalla, solo es visual.
## 💻 Tecnologías usadas
Backend:
- **Framework:** NestJs
- **ORM:** Typeorm
- **Base de datos:** Sqlite
- **Gestor de paquetes:** Yarn
Frontend:
- **Librería:** React
- **Componentes UI:** MaterialUI
- **Gestor de paquetes:** Yarn
## 🚀 ¿Cómo deployarlo?
### Clonar el repositorio
1. Clona el repositorio desde GitHub: `git clone https://github.com/DarioAlbor/ChallengePokemon.git`
2. Navega al directorio del proyecto: `cd ChallengePokemon`
### Configurar y arrancar el servidor
1. Navega al directorio del servidor: `cd server`
2. Instala las dependencias: `yarn`
3. Genera la base de datos de pokémones `pokemon.db` (si deseas una nueva, elimina la actual): `yarn run seed`
4. Inicia el servidor: `yarn start`
### Configurar y arrancar el cliente
1. Navega al directorio del cliente: `cd client`
2. Instala las dependencias: `yarn`
3. Navega al directorio `../utils/apiroutes.js` y modifica `const baseurl = 'http://localhost:3000/pokemon';`
4. Inicia el cliente: `yarn start`
¡Disfruta!
## ✨ Deployado utilizando
Frontend: [Vercel](https://vercel.com)
Backend: [Render](https://render.com)
## 📬 Contacto
Puedes contactarme mediante mi [portafolio](https://darioalbor.dev.ar).
También puedes contribuir al proyecto sumando nuevas ideas o líneas de código. ¡Toda ayuda es bienvenida!
## 📸 Imágenes
|  |  |
|:------------------------------------------:|:----------------------------------------------------:|
| Inicio del juego | Selección de pokémon |
|  |  |
|:------------------------------------------:|:----------------------------------------------------:|
| Batalla | Victoria |