Skip to content

Proyect-Pokemon/Project-Pokemon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

437 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Pokémon

Project Pokémon

Project Pokémon es una aplicación web multijugador de simulación de combates Pokémon desarrollada como proyecto final del ciclo formativo de Administración de Sistemas Informáticos en Red (ASIR).

La plataforma permite a los usuarios registrarse, crear y gestionar equipos Pokémon, interactuar con otros jugadores y participar en combates en tiempo real. El sistema reproduce las mecánicas de combate de los videojuegos Pokémon FireRed y Pokémon LeafGreen, incorporando funcionalidades modernas propias de las aplicaciones web actuales.

📚 Índice

Autores del proyecto

Ciclo Formativo: Administración de Sistemas Informáticos en Red (ASIR)
Centro Educativo: IES Miguel Romero Esteo
Curso Académico: 2024 - 2026

🌐 Enlaces

Tecnologías utilizadas

Backend

  • C#
  • ASP.NET Core
  • Entity Framework Core
  • WebSockets
  • JSON Web Tokens (JWT)
  • OAuth 2.0

Frontend

  • Angular
  • TypeScript
  • HTML5
  • CSS3

Base de datos

  • SQLite (entorno de desarrollo)
  • MariaDB (entorno de producción)

Infraestructura

  • Docker
  • Kubernetes
  • Proxmox VE
  • Debian GNU/Linux
  • Nginx
  • MonsterASP

DevOps y Gestión

  • Git
  • GitHub
  • GitHub Projects
  • GitHub Actions
  • CI/CD
  • Web Deploy

🎨 Vista previa

image image image image image image image

📁 Arquitectura de sistemas

Producción (ASP Monster)

┌─────────────────┐
│     Usuario     │
│ Navegador Web   │
└────────┬────────┘
         │ HTTPS
         ▼
┌──────────────────────────┐
│      ASP Monster         │
│                          │
│  Project Pokémon         │
│  ASP.NET + Angular       │
│  WebSockets              │
└────────┬─────────────────┘
         │ Conexión interna
         │
         ▼
┌──────────────────────────┐
│ Servidor de Base de Datos│
│        MariaDB           │
└──────────────────────────┘

Los usuarios acceden a la aplicación mediante HTTPS. El servidor web alojado en ASP Monster ejecuta la aplicación Project Pokémon y gestiona tanto las peticiones HTTP como las conexiones WebSocket utilizadas por los combates en tiempo real. La aplicación se comunica internamente con un servidor MariaDB independiente encargado del almacenamiento persistente de los datos.

Arquitectura Virtualizada (Proxmox VE)

┌─────────────────────────────────────────────────────┐
│                Servidor Físico                      │
│                  Proxmox VE                         │
│                                                     │
│ ┌─────────────────────────────────────────────────┐ │
│ │ VM1K8S                                          │ │
│ │ Kubernetes Control Plane                        │ │
│ │ Ingress Controller                              │ │
│ └───────────────────┬─────────────────────────────┘ │
│                     │                               │
│                     ▼                               │
│ ┌─────────────────────────────────────────────────┐ │
│ │ VM2DWN                                          │ │
│ │ Kubernetes Worker Node                          │ │
│ │ Docker Engine                                   │ │
│ │ Pods Project Pokémon                            │ │
│ │ Frontend Angular                                │ │
│ │ Backend ASP.NET                                 │ │
│ └───────────────────┬─────────────────────────────┘ │
│                     │                               │
│                     ▼                               │
│ ┌─────────────────────────────────────────────────┐ │
│ │ VM3DB                                           │ │
│ │ MariaDB                                         │ │
│ └─────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
                      ▲
                      │ HTTPS
                      │
                ┌───────────┐
                │ Usuarios  │
                └───────────┘

La infraestructura se encuentra desplegada sobre un único servidor físico gestionado mediante Proxmox VE. Dentro del entorno virtualizado se ejecutan tres máquinas virtuales independientes: una máquina destinada al plano de control de Kubernetes e Ingress, una segunda máquina que actúa como nodo trabajador ejecutando los contenedores Docker de la aplicación y una tercera máquina dedicada exclusivamente al servidor MariaDB. Esta separación permite simular una arquitectura distribuida similar a un entorno productivo real.

Diagrama relacional

Diagrama relacional

🌐 Bibliografía

Documentación sobre Pokémon

Wikidex, la Enciclopedia Pokémon. Cálculo de características.
https://www.wikidex.net/wiki/Caracter%C3%ADsticas#C%C3%A1lculo_de_caracter%C3%ADsticas

Wikidex, la Enciclopedia Pokémon. Cambios en características.
https://www.wikidex.net/wiki/Caracter%C3%ADsticas#Cambios_en_caracter%C3%ADsticas

Wikidex, la Enciclopedia Pokémon. Tiempo atmosférico.
https://www.wikidex.net/wiki/Tiempo_atmosf%C3%A9rico

Wikidex, la Enciclopedia Pokémon. Lista de Pokémon de la primera generación.
https://www.wikidex.net/wiki/Lista_de_Pok%C3%A9mon_de_la_primera_generaci%C3%B3n

Wikidex, la Enciclopedia Pokémon. Lista de movimientos.
https://www.wikidex.net/wiki/Lista_de_movimientos#Lista_de_movimientos

Wikidex, la Enciclopedia Pokémon. Lista de movimientos por alteración de estado.
https://www.wikidex.net/wiki/Lista_de_movimientos_por_alteraci%C3%B3n_de_estado

Wikidex, la Enciclopedia Pokémon. Estados.
https://www.wikidex.net/wiki/Estado

Wikidex, la Enciclopedia Pokémon. Índice de golpe crítico.
https://www.wikidex.net/wiki/Golpe_cr%C3%ADtico#%C3%8Dndice_de_golpe_cr%C3%ADtico

Wikidex, la Enciclopedia Pokémon. Cálculo del poder oculto.
https://www.wikidex.net/wiki/C%C3%A1lculo_del_poder_oculto

Wikidex, la Enciclopedia Pokémon. Características de los movimientos.
https://www.wikidex.net/wiki/Movimiento#Caracter%C3%ADsticas

Wikidex, la Enciclopedia Pokémon. Lista de objetos de tercera generación.
https://www.wikidex.net/wiki/Lista_de_objetos_por_n%C3%BAmero_de_%C3%ADndice_de_la_tercera_generaci%C3%B3n

Bulbapedia, la Enciclopedia Pokémon Movida por la Comunidad. Lista de Pokémon por estadísticas base en generaciones II-V.
https://bulbapedia.bulbagarden.net/wiki/List_of_Pok%C3%A9mon_by_base_stats_in_Generations_II-V

PokéAPI, la API de Pokémon RESTful. Documentación.
https://pokeapi.co/docs/v2

Pokémon Showdown, Simulador de Combates Pokémon. Repositorio de GitHub de Pokémon Showdown.
https://github.com/smogon/Pokémon-showdown/tree/master

Otra Documentación


W3schools, la Página de Aprendizaje de Tecnologías Web Más Completa. Documentación sobre HTML5.
https://www.w3schools.com/html/default.asp

W3schools, la Página de Aprendizaje de Tecnologías Web Más Completa. Documentación sobre CSS3.
https://www.w3schools.com/css/default.asp

W3schools, la Página de Aprendizaje de Tecnologías Web Más Completa. Documentación sobre JS.
https://www.w3schools.com/js/default.asp

W3schools, la Página de Aprendizaje de Tecnologías Web Más Completa. Documentación sobre C#.
https://www.w3schools.com/cs/index.php

W3schools, la Página de Aprendizaje de Tecnologías Web Más Completa. Documentación sobre ASP.
https://www.w3schools.com/asp/default.asp

W3schools, la Página de Aprendizaje de Tecnologías Web Más Completa. Ciberseguridad.
https://www.w3schools.com/cybersecurity/index.php

Microsoft, Empresa Tecnológica Multinacional. Documentación sobre ASP oficial.
https://dotnet.microsoft.com/es-es/

Microsoft, Empresa Tecnológica Multinacional. Documentación sobre C# oficial.
https://learn.microsoft.com/es-es/dotnet/csharp/

WebSocket, Comunicación Bidireccional y Full-Duplex. Documentación oficial sobre WebSockets.
https://websockets.spec.whatwg.org/

Wikipedia, la Enciclopedia Libre. WebSocket.
https://en.wikipedia.org/wiki/WebSocket

SockJS, Librería de JavaScript. Perfil oficial de GitHub de SockJS.
https://github.com/sockjs

GitHub, la Plataforma de Proyectos con Git. Sobre los repositorios.
https://docs.github.com/en/repositories/creating-and-managing-repositories/about-repositories

GitHub, la Plataforma de Proyectos con Git. Sobre Projects.
https://docs.github.com/en/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects

GitHub, la Plataforma de Proyectos con Git. Empezando con Projects.
https://docs.github.com/en/issues/planning-and-tracking-with-projects/learning-about-projects/quickstart-for-projects

GitHub, la Plataforma de Proyectos con Git. Buenas prácticas con Projects.
https://docs.github.com/en/issues/planning-and-tracking-with-projects/learning-about-projects/best-practices-for-projects

ISO/IEC 27001:2022, Information security, cybersecurity and privacy protection.
Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos Personales y garantía de los derechos digitales.

About

Project Pokémon es una aplicación web multijugador de simulación de combates Pokémon. Proyecto TFG ASIR 2026

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors