Skip to content

Repository files navigation

API Videojuegos

🎮 API Videojuegos Clásicos

Sistema web para la gestión de videojuegos clásicos mediante una API REST desarrollada con Node.js, Express y MySQL. Permite realizar operaciones CRUD (Crear, Consultar, Actualizar y Eliminar) a través de una interfaz web moderna, intuitiva y responsive.


📋 Características

  • ✅ Obtener todos los videojuegos registrados.
  • ✅ Buscar videojuegos por ID.
  • ✅ Crear nuevos videojuegos.
  • ✅ Actualizar información existente.
  • ✅ Eliminar registros.
  • ✅ Validación de datos en el servidor.
  • ✅ Interfaz web moderna y amigable.
  • ✅ Notificaciones visuales para acciones exitosas o errores.
  • ✅ Integración con base de datos MySQL.
  • ✅ Arquitectura RESTful.

🛠️ Tecnologías Utilizadas

Backend

  • Node.js
  • Express.js
  • MySQL
  • mysql2

Frontend

  • HTML5
  • CSS3
  • JavaScript Vanilla

Base de Datos

  • MySQL

📂 Estructura del Proyecto

API_VIDEOJUEGOS
│
├── public/
│   ├── img/
│   │   └── API_Videojuegos.png
│   ├── index.html
│   ├── style.css
│   └── app.js
│
├── database.js
├── server.js
├── videojuegos.sql
├── package.json
└── package-lock.json

⚙️ Instalación

1. Clonar el repositorio

git clone https://github.com/usuario/API_VIDEOJUEGOS.git
cd API_VIDEOJUEGOS

2. Instalar dependencias

npm install

3. Crear la base de datos

Importar el archivo:

videojuegos.sql

en MySQL.

4. Configurar la conexión

Editar el archivo:

database.js

y configurar las credenciales:

const db = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: '',
    database: 'videojuegos_db'
});

▶️ Ejecutar el Proyecto

node server.js

Servidor disponible en:

http://localhost:3000

📡 Endpoints de la API

Obtener todos los videojuegos

GET /items

Respuesta

[
  {
    "id": 1,
    "nombre": "Pac-Man",
    "descripcion": "Videojuego clásico de arcade",
    "estado": "Activo"
  }
]

Obtener videojuego por ID

GET /items/:id

Ejemplo

GET /items/1

Crear videojuego

POST /items

Body

{
  "id": 1,
  "nombre": "Pac-Man",
  "descripcion": "Videojuego clásico de arcade",
  "estado": "Activo"
}

Actualizar videojuego

PUT /items/:id

Body

{
  "nombre": "Pac-Man Deluxe",
  "descripcion": "Versión mejorada",
  "estado": "Activo"
}

Eliminar videojuego

DELETE /items/:id

Ejemplo

DELETE /items/1

🎨 Interfaz de Usuario

La aplicación incorpora una interfaz moderna diseñada para mejorar la experiencia de usuario mediante:

  • Diseño responsive.
  • Panel de acciones CRUD.
  • Tabla interactiva.
  • Formularios validados.
  • Sistema de notificaciones (Toast).
  • Modal de confirmación para eliminaciones.
  • Indicadores visuales de estado.

🔒 Validaciones Implementadas

  • Campos obligatorios.
  • Verificación de existencia antes de actualizar.
  • Verificación de existencia antes de eliminar.
  • Manejo de errores de base de datos.
  • Respuestas HTTP adecuadas.

📈 Posibles Mejoras Futuras

  • Autenticación con JWT.
  • Paginación de resultados.
  • Filtros de búsqueda avanzados.
  • Dockerización del proyecto.
  • Swagger/OpenAPI.
  • Pruebas automatizadas.
  • Despliegue en la nube.

👨‍💻 Autor

Sebastián Falconí

Proyecto académico desarrollado para demostrar la implementación de una API REST con operaciones CRUD, integración con MySQL y una interfaz web moderna para la gestión de videojuegos clásicos.


📄 Licencia

Este proyecto se distribuye con fines académicos y educativos.

About

🎮 API Videojuegos Clásicos | Plataforma web moderna para administrar videojuegos mediante una API REST, con operaciones CRUD, interfaz intuitiva y enfoque en usabilidad.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages