POW!
Requerimientos
Back-end - API
- Objetivo general: Desarrollar una aplicación que integre una API REST creada en Java (Spark)
-
Requisitos funcionales:
- La aplicación debe gestionar una entidad principal (a elección del alumno), por ejemplo: Productos, Clientes, Empleados, Vehículos, Fletes, Tareas o Notas
- Debe implementar las operaciones CRUD completas:
+ GET → Listar todos los registros y obtener un registro por ID
+ POST → Crear un nuevo registro
+ PUT → Editar un registro existente
+ DELETE → Eliminar un registro
- Cada endpoint debe devolver respuestas claras y estructuradas (en formato JSON) indicando el estado de la operación.
- En la capa de base de datos: La conexión con la base de datos debe realizarse mediante JDBC con PreparedStatement.
-
Validaciones que pueden usar:
- No permitir insertar datos vacíos o nulos.
- Validar formato de campos (por ejemplo: correo electrónico, número de teléfono, precio positivo, etc.).
- Evitar registros duplicados (según el campo que tenga que ser único).
- Manejar errores del servidor devolviendo un mensaje descriptivo (por ejemplo, "El producto ya existe", "El ID no fue encontrado", etc.).
-
Requisitos técnicos:
- API REST funcionando en localhost (puerto a elección).
- Base de datos relacional (MySQL).
- Conexión entre la API y la base de datos correctamente configurada.
- Frontend conectado a la API (puede ejecutarse desde otro puerto o carpeta del proyecto).
- Repositorio en GitHub con todo el código.
Front-end
- HTML5, CSS3 y JavaScript
- Agregar navegador con un link a Home
-
Página home:
- Usar fetch para obtener lista desde API
- Lista de tarjetas con imágenes y nombres
- Al hacer click en la tarjeta redirigir a heroe.html?id=ID
- Agregar un buscador a la derecha para filtrar por nombre actualizando contenido con js sin recargar la Página
- Agregar una sección a la derecha para crear un nuevo héroe
- Al crear un héroe, agregarlo a la lista y recargar la página
-
Página héroe:
- Usar fetch para obtener héroe desde API
- Mostrar imagen, nombre, descripción, poderes y debilidades
- Agregar un botón para volver a la home
- Diseño responsive y adaptado a dispositivos móviles, estilo libre