Inicializar bases de datos por default de Sedes, profesores y deportes. Pueden agregar elementos a estas listas o modificarlas en sus respectivas capas de servicio (TeacherService, HeadquarterService y CourseService). Aqui pueden agregar imagenes reales a los cursos
-
Crear una lista de sedes sin JSON-BODY: [POST] http://localhost:8080/headquarters/initializeHeadquarters
-
Crear una lista de maestros sin JSON-BODY: [POST] http://localhost:8080/teachers/initializeTeachers
-
Crear una lista de cursos: [POST] http://localhost:8080/courses/initializeCourses (Actualicen las fechas de inicio y finalizacion del curso en CourseService)
-
Asignar profes (cuantos quiera) a un curso: [PUT] http://localhost:8080/teachers/{teacherId}/ {courseId}
-
Asignar sedes (cuantas quiera) a un curso [PUT] http://localhost:8080/headquarters/{sedeId}/{courseId}
-
Crear cronogramas/"shifts" (los que quiera segun profes y sedes ya asignados) para un curso: [POST] http://localhost:8080/shifts/shift/{courseId}/{sedeId}/{teacherId} - JSON-BODY:
{ "horaInicio":"16:30", "horaFin":"18:20", "vacancy":12, "diaEnQueSeDicta":3 } -
Iniciar y finalizar registro, luego autenticarse.
-
Reserva un curso, cancela la reserva, incribite con la asistencia a la reserva, inscribite a la reserva o inscribete directamente sin reserva:
8.1.1 [POST] http://localhost:8080/reservations/reservar - JSON-BODY:
{
"idUser":1,
"idShift":1,
"metodoDePago":"CREDIT_CARD"
}
8.1.2 [POST] http://localhost:8080/reservations/cancelar/{shiftId}
8.2. [POST] http://localhost:8080/inscriptions/inscribir - Mismo JSON-BODY anterior.
8.3. [POST] http://localhost:8080/inscriptions/inscribir_reserva - Mismo JSON-BODY anterior. (Asegurate que hayas reservado el curso para evitar un BAD_REQUEST)
-
Tomar Asistencia: [POST] http://localhost:8080/asistencias/registrar_asistencia - JSON-BODY:
{ "idUser":1, "idCronograma":1 }
A la hora de usar updateUser, se pueden actualizar todos los datos, menos el password y el username, que por default queda como el email, ya que tanto el registro como la autenticacion piden el email y no el username. La configuracion del token y los permisos tuvieron que ajustarse asi.
a) Crear una scheme con el nombre mobile_back (tal como esta escrito en el archivo application.properties en la carpeta de rsources dentro de la carpeta main)
b) Dento del archivo application.properties, modificar las lineas 7 y 8:
spring.datasource.username=root <--- aqui va tu usuario de MySql
spring.datasource.password=****** <---- aqui va tu contraseña de MySql
Con estos ajustes, las tablas se crean automaticamente dentro del scheme creado una vez que haces correr el backend.
c) En tu cuenta de google, ir a manage your google account > Security > How you sign in to Google > 2-Step Verification. Aqui habilitar esta "verificación doble" y entrar a App Passwords.
Aqui seguir las instrucciones para crear una app password, que va a contener 16 caracteres separados en tres espacios.
En caso de que "App Passwords" no aparezca por ningun lado, asegurarse de que tengas habilitada la doble verificación, y luego buscar en el navegador de google "App passwords gmail" (App Passwords - Sign in - Google Accounts). Aqui crear la password de 16 caracteres.
d) Para el envio del código al mail (y para completar el procedimiento de registro de usuario), dentro del archivo application.properties, modificar las lineas 21 y 22:
[email protected] <--- aqui va tu cuenta de gmail
spring.mail.password=bcoj ldet lehu zqbx <--- aqui va un password de 16 caracteres.
POST http://localhost:8080/auth/iniciar-registro
{
"email":"[email protected]", <--- reemplazar por tu cuenta de gmail
"password":"123abc"
}
POST http://localhost:8080/auth/finalizar-registro
{
"email":"[email protected]", <--- reemplazar por tu cuenta de gmail, como en el paso anterior
"code": "5772" <--- reemplazar con el código que te llego a tu correo de gmail
}
POST http://localhost:8080/auth/authenticate
{
"email":"[email protected]", <--- reemplazar por tu cuenta de gmail, como en el paso anterior
"password": "123abc"
}