- Descripción del proyecto
- Estado del proyecto
- Funcionalidades
- Acceso al proyecto
- Tecnologías utilizadas
- Dependencias utilizadas
- Documentacion
- Pruebas a la API
- Autor
- Licencia
El foro alura es un lugar donde todos los alumnos de la plataforma alura pueden colocar sus preguntas sobre determinados cursos, este mágico lugar está lleno de mucho aprendizaje y de colaboración entre alumnos, profesores y moderadores.
[POST] https://localhost:8080/login
{
"username": "string",
"password": "string"
}
[POST] https://localhost:8080/users
{
"name": "string",
"email": "string",
"username": "string",
"password": "string"
}
Los unicos que pueden actualizar los datos de un usuario son el dueño de la cuenta y el adminstrador del sistema.
[PUT] https://localhost:8080/users
{
"id": 0,
"name": "string",
"email": "string",
"username": "string",
"password": "string"
}
Los unicos que pueden eliminar un usuario son el dueño de la cuenta y el adminstrador del sistema.
[DELETE] https://localhost:8080/users/{id}
El unico que tiene permitido registrar, actualizar y eliminar los cursos es el administrador del sistema.
[POST] https://localhost:8080/courses
{
"name": "string",
"category": "string"
}
[PUT] https://localhost:8080/courses
{
"id": 0,
"name": "string",
"category": "string"
}
[DELETE] https://localhost:8080/courses/{id}
[POST] https://localhost:8080/topics
{
"title": "string",
"message": "string",
"idAuthor": 0,
"idCourse": 0
}
Retorna el siguiente formato
[GET] https://localhost:8080/topics
{
"id": 0,
"title": "string",
"message": "string",
"creatioDate": "LocalDateTime",
"status": "string",
"author": "string",
"course": "string"
},
{
"id": 0,
"title": "string",
"message": "string",
"creationDate": "LocalDateTime",
"status": "string",
"author": "string",
"course": "string"
}
Retorna el siguiente formato
[GET] https://localhost:8080/topics{id}
{
"id": 0,
"title": "string",
"message": "string",
"creationDate": "LocalDateTime",
"status": "string",
"author": "string",
"course": "string",
"response": [
{
"id": 0,
"message": "string",
"creationDate": "LocalDateTime",
"author": "string",
"solution": false
},
{
"id": 0,
"message": "string",
"creationDate": "LocalDateTime",
"author": "string",
"solution": false
}
]
}
Los unicos que pueden actualizar la información de un topico son el creador y el administrador del sistema.
[PUT] https://localhost:8080/topics
{
"id": 0,
"title": "string",
"message": "string",
"status": "string",
"idCourse": 0
}
Los unicos que pueden eliminar un topico son el creador y el administrador del sistema.
[DELETE] https://localhost:8080/topics/{id}
[POST] https://localhost:8080/responses
{
"message": "string",
"idTopic": 0,
"idAuthor": 0
}
Los unicos que pueden actualizar la información de una respuesta son el creador y el administrador del sistema.
[PUT] https://localhost:8080/responses
{
"id": 0,
"message": "string"
}
Los unicos que pueden eliminar una respuesta son el creador y el administrador del sistema.
[DELETE] https://localhost:8080/responses/{id}
-
Descargue la versión 17 de Java JDK.
-
Descargue el IDE IntelliJ IDEA Community.
-
Descargue MySQL.
-
Descargue MySQL Workbench.
-
Clone el repositoria mediante el siguiente enlace: https://github.com/nosmow/challenge-one-foro-alura.git
-
Abra MySQL Workbench y ejecute la siguiente linea de codigo para crear la base de datos:
CREATE DATABASE foro_alura;
-
Abra el proyecto en el IDE IntelliJ IDEA Community.
-
Dirijase a la carpeta de resources y en **application.properties ** modifique los campos spring.datasource.username y spring.datasource.password reemplazandolos por el usuario y la contraseña que asigno al instalar MySQL en su PC.
-
Compile y ejecute la aplicación, listo 🙃.
-
Java 17
-
Spring Boot 3
-
MySQL
-
Spring Web
-
Spring Boot DevTools
-
Lombok
-
Spring Data JPA
-
Flyway Migration
-
MySQL Driver
-
JPA
-
Hibernate
-
Validation
-
Spring Security
-
JSON Wen Token
-
Spring Doc
- Puedes acceder a la documentación de la API gracias a Swagger, solo escribe esta dirección en tu navegador cuando el proyecto se este ejecutando:
http://localhost:8080/swagger-ui/index.html
- Puede testear la API desde el programa Insomnia, aquí les dejo un archivo ya configurado para que lo descarguen y luego lo importen en el programa:
- Clic para descargar el Archivo
Nosmow |
---|
Foro Alura está licenciado bajo la licencia MIT