API REST para plataforma de cursos online (backend only), com autenticação OAuth2 Google.
- Java 21
- Spring Boot
- Spring Security (OAuth2 Google)
- Spring Data JPA (Hibernate)
- Flyway
- PostgreSQL
- Swagger (Springdoc)
- Suba o banco:
docker compose up -d
- Configure as variáveis em
.env.dev(principalmenteGOOGLE_CLIENT_IDeGOOGLE_CLIENT_SECRET). - Inicie a aplicação:
No Windows PowerShell:
./mvnw spring-boot:run
.\mvnw.cmd spring-boot:run
Para autenticar com Google, acesse:
http://localhost:8080/oauth2/authorization/google
Após login, você pode validar o usuário autenticado em:
http://localhost:8080/user/me
Documentação e teste de endpoints:
http://localhost:8080/swagger-ui/index.html
GET /cursos: lista cursos disponíveisPOST /cursos: cria curso (somenteINSTRUTOR)POST /cursos/{id}/aulas: cria aula no cursoPOST /matriculas/{cursoId}: matrícula em curso (somenteALUNO)
Se não estiver autenticado, a API retorna 401 com mensagem de login.
