Skip to content

ProyectosCoPersonales/Movie-Reservation-System-Solutions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

Sistema de Reserva de un Cine hecho con Spring Boot, Spring Security, HTML, CSS, JS y JWT

Este es un proyecto propuesto por Roadmap.sh para el backend URL:https://roadmap.sh/projects/movie-reservation-system

Tecnologías Utilizadas

  • Lenguajes de Programación: Java, JavaScript, HTML, CSS
  • Frameworks: Spring Boot
  • Bases de Datos: PostgreSQL
  • Herramientas de Construcción: Maven
  • Control de Versiones: Git
  • Plataforma de Hospedaje: GitHub
  • Otras tecnologías: JWT

Autenticación y Autorización de Usuarios Para la autenticación, los usuarios pueden registrarse e iniciar sesión utilizando credenciales de nombre de usuario y contraseña, las cuales se encriptan con bcrypt, una funcionalidad proporcionada por Spring Security. Se implementaron dos roles principales: USER y ADMIN. Cuando una persona se registra por defecto tiene el rol de USER

RUTA PARA LOGIN: POST '/auth/login' INTERFAZ

image

RUTA PARA REGISTER POST '/auth/register' INTERFAZ

image

POSTMAN

En el login y en el registro la API generará un token, en la imagen se le añadió el username y el Rol que adquiere por defecto.

Cuando es añadido a la base de datos, la contraseña ya está encriptada.

image

image

#Usuarios regulares (User)

Pueden acceder a funciones básicas como ver películas, sus horarios y realizar reservas.

RUTA PARA MOSTRAR TODAS LAS PELÍCULAS GET '/user/movie'

RUTA PARA VER UNA PELÍCULA GET '/user/movie/{id}'

POSTMAN

image

INTERFAZ

La interfaz solo necesita extraer el "id" y el "posterImage" para crear los cards El id de movies será usado después para las reservaciones.

image

CABE ACLARAR QUE FALTO LA INTERFAZ PARA MOSTRAR LAS HORARIOS PERO POR MOMENTO LAS RUTAS EN EL CONTROLADOR ESTÁN HABILITADAS

RUTA PARA VER LOS HORARIOS GET '/admin/horario' Por el momento es una función de usuario ADMIN

RUTA PARA VER LAS RESERVACIONES GET '/user/reservation'

RUTA PARA HACER UNA RESERVACIÓN POST '/{horarioid}/add-seats' Cada horario está compuesto de una película, un horario y una sala de cine y se creo la entidad reservations para administrar los asientos para cada película.

RUTA PARA HACER UNA RESERVACIÓN GET '/{horarioid}/occupied-seats'

image

Se pensaba mejorar el sistema de facturación pero por falta de tiempo se quedó así, pero los asientos quedan reservados y bloqueados por lo tanto no pueden volverse a seleccionar Utiliza horarioId para tener un espacio exclusivo para cada función de Cine.

image

image

image

TODOS LAS RESERVACIONES SE AÑADIERON EXISTOSAMENTE

image

#Administradores (Admin)

Tienen acceso a funciones avanzadas como la gestión de películas y horarios, así como la administración de usuarios y generación de reportes.

AHORA SI ALGUIEN INICIA SESIÓN CON UN USUARIO ADMIN

Tiene una serie de rutas las cuales puede usar para manipular los registros de la base de datos, tanto de los usuarios, películas, horarios y salas de cine. El admin tiene todos los permisos puede GET, POST, DELETE y buscar registros por el ID.

RUTAS ADMIN

image

image

image

image

About

Este es un proyecto propuesto por Roadmap.sh para el backend

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published