- Run the clone repository in your terminal:
git clone https://github.com/TECHMA-Bootcamp-FullStack-Java-Angular/EX01-PT-0512.git
- Access the folder with the command:
cd EX01-PT-0512.git
-
Open the repository with your IDE, remember to have the SQL service running
-
Update the dependencies and remember to create the databases
-
Introducción En el presente proyecto del Bootcamp Full Stack correspondiente a la parte Spring Framework se espera que el alumno demuestre todos los conocimientos adquiridos en desarrollo de APIs.
-
Descripción Dada la situación sanitaria, una empresa tecnológica ha estado trabajando en remoto desde marzo de 2020. Esto ha implicado que nuestros compañeros hayan perdido el contacto humano que siempre se ha tenido, y es algo que la empresa desea cambiar.
La empresa quiere dar un impulso a la manera que tienen los trabajadores de relacionarse, permitiendo que contacten entre ellos creando grupos de interés.
Una primera fase de este proyecto es crear una aplicación web LFG, que permita que los empleados puedan contactar con otros compañeros para formar grupos para jugar a un videojuego, con el objetivo de poder compartir un rato de ocio afterwork.
Los requisitos funcionales de la aplicación son los siguientes:
RF.1 Los usuarios se tienen que poder registrar a la aplicación, estableciendo un usuario/contraseña.
POST http://localhost:8181/api/v1/user
"id": 0,
"username": "string",
"password": "string",
"email": "string",
"worker_code": "string"
}
POST /api/v1/party
http://localhost:8181/api/v1/party
{
"id": 0,
"title": "string",
"meetup": "string",
"game": {
"id": 0,
"title": "string",
"description": "string"
},
"created_by": {
"id": 0,
"username": "string",
"password": "string",
"email": "string",
"worker_code": "string"
}
}
GET /api/v1/party/{game_title}
http://localhost:8181/api/v1/party/{game_title}
POST /api/v1/party_menber
http://localhost:8181/api/v1/party_menber
{
"id": 0,
"user": {
"id": 0,
"username": "string",
"password": "string",
"email": "string",
"worker_code": "string"
},
"party": {
"id": 0,
"title": "string",
"meetup": "string",
"game": {
"id": 0,
"title": "string",
"description": "string"
},
"created_by": {
"id": 0,
"username": "string",
"password": "string",
"email": "string",
"worker_code": "string"
}
}
}
DELETE /api/v1/party_menber/{id}
http://localhost:8181/api/v1/party_menber/{id}
RF.6 Los usuarios tienen que poder enviar mensajes a la Party. Estos mensajes tienen que poder ser editados y borrados por su usuario creador.
PUT /api/v1/messge/{id}
http://localhost:8181/messge/{id}/{name}
DETETE /api/v1/messge/{id}
http://localhost:8181/messge/{id}/{name}
POST /api/v1/message
http://localhost:8181/api/v1/message
{
"id": 0,
"content": "string",
"time_sent": "2023-12-05T16:54:07.665Z",
"sender": {
"id": 0,
"username": "string",
"password": "string",
"email": "string",
"worker_code": "string"
},
"party": {
"id": 0,
"title": "string",
"meetup": "string",
"game": {
"id": 0,
"title": "string",
"description": "string"
},
"created_by": {
"id": 0,
"username": "string",
"password": "string",
"email": "string",
"worker_code": "string"
}
}
}
GET /api/v1/messages
http://localhost:8181/api/v1/messages
RF.8 Los usuarios pueden introducir y modificar sus datos de perfil, por ejemplo, su usuario de Steam.
POST /api/v1/user
http://localhost:8181/api/v1/user
{
"id": 0,
"username": "string",
"password": "string",
"email": "string",
"worker_code": "string"
}
PUT /api/v1/user/{id}
http://localhost:8181/api/v1/user{id}
En esta primera fase de proyecto el alumno ha de realizar una API REST completa, con Spring Framework, que cumpla con los requisitos anteriormente planteados.
Define los endpoints necesarios para que el backend pueda cumplir con lo establecido, nutriendo las diferentes vistas de frontend.
Además de de lo mencionado anteriormente el alumno ha de incluir la siguiente funcionalidad:
Excelente Readme (IMPORTANTE). Deploy en Heroku tanto BBDD como API. OPCIONAL:
Registro de usuarios. Login de usuarios + JWT Debes adjuntar las URL de los repositorios GIT de cada uno de los ejercicios. Recuerda que tienes fecha límite de entrega.