Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/proyectoscopersonales/movie-reservation-system-solutions
Este es un proyecto propuesto por Roadmap.sh para el backend
https://github.com/proyectoscopersonales/movie-reservation-system-solutions
css3 html java javascript postresql spring spring-boot spring-security
Last synced: about 2 months ago
JSON representation
Este es un proyecto propuesto por Roadmap.sh para el backend
- Host: GitHub
- URL: https://github.com/proyectoscopersonales/movie-reservation-system-solutions
- Owner: ProyectosCoPersonales
- Created: 2024-08-31T14:33:57.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-08-31T18:39:05.000Z (4 months ago)
- Last Synced: 2024-10-10T17:23:28.765Z (3 months ago)
- Topics: css3, html, java, javascript, postresql, spring, spring-boot, spring-security
- Language: Java
- Homepage:
- Size: 148 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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](https://github.com/user-attachments/assets/4cfb4627-8f48-4682-b883-ad02474b4b5b)
**RUTA PARA REGISTER** POST '/auth/register'
**INTERFAZ**![image](https://github.com/user-attachments/assets/18e97dd4-0808-4bd0-9459-93c3d17ded68)
**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](https://github.com/user-attachments/assets/c03d585a-0b00-4c37-8b4a-15912ee71695)
![image](https://github.com/user-attachments/assets/1954589f-ee09-4582-8e84-6334685ef435)
#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](https://github.com/user-attachments/assets/2f633131-5626-4462-9b25-44a6a38c2e93)
**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](https://github.com/user-attachments/assets/ec339aeb-8381-4f07-825c-0ecdcb91be15)
**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](https://github.com/user-attachments/assets/e68d5e47-e013-4a9a-a83f-cabdcf2685f2)
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](https://github.com/user-attachments/assets/7ede1caf-0dc7-472c-ac06-ab65742ed647)
![image](https://github.com/user-attachments/assets/13474aa6-f001-4312-8616-346d1b6a74c8)
![image](https://github.com/user-attachments/assets/85c5c34a-891b-4b0c-9efe-dc2b36a21367)
**TODOS LAS RESERVACIONES SE AÑADIERON EXISTOSAMENTE**
![image](https://github.com/user-attachments/assets/e9b04078-f379-411b-9d0b-2af4236360a8)
#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](https://github.com/user-attachments/assets/587be1bc-e70d-4e5f-855a-98bb82b17d40)
![image](https://github.com/user-attachments/assets/cc34f9f6-e600-482e-9032-7dd40614a787)
![image](https://github.com/user-attachments/assets/ba5f04c9-00e2-431d-929d-d00e9cc99594)
![image](https://github.com/user-attachments/assets/2b2e8402-e8e9-42fe-9edb-a66fdb0dcc6d)