Este projeto é uma API REST desenvolvida com o framework Spring Boot, voltada para a gestão de cursos, turmas, alunos e docentes. As tecnologias utilizadas incluem Java, Spring Boot, PostgreSQL, Git e Docker.
- Java
- Spring Boot
- PostgreSQL
- Git
- Docker
- Swagger
Certifique-se de ter o Docker e o Docker Compose instalados na sua máquina.
-
Navegue até o diretório onde está o arquivo
docker-compose.yml
. Você pode usar o terminal do IntelliJ ou qualquer terminal de sua escolha. -
Execute o seguinte comando para iniciar os serviços:
docker-compose up --build
Isso irá construir as imagens e iniciar os containers.
A aplicação está configurada para usar um banco de dados PostgreSQL com as seguintes configurações:
- Banco de Dados:
database
- Usuário:
meuUsuario
- Senha:
minhaSenha
- Portas:
- API:
8080
- PostgreSQL:
1432
- API:
Existem três tipos de usuários pré-cadastrados na aplicação:
-
Administrador
- Email:
[email protected]
- Senha:
123456
- Email:
-
Docente
- Email:
[email protected]
- Senha:
123456
- Email:
-
Aluno
- Email:
[email protected]
- Senha:
123456
- Email:
Apenas o login não necessita de token. Ao se logar, o usuário receberá um token que deverá ser utilizado nas demais requisições.
Utilize o token gerado pelas credenciais do usuário administrador ao se logar para os demais acessos:
- Docente: Cadastre docentes nos endpoints de docente
- Curso: Crie cursos nos endpoints de curso.
- Matéria: Crie matéria nos endpoints de matéria.
- Turma: Crie turma nos endpoints de turma.
- Aluno: Crie alunos nos endpoints de aluno
- Notas: Lançe notas a um aluno utilizando os endpoints de nota.
Você pode testar os endpoints da API através do swagger acessando o link: swagger
Você pode importar as requisições do Insomnia para facilitar os testes. Para fazer isso, siga as etapas:
- Abra o Insomnia.
- Vá em
File
>Import
. - Selecione o arquivo
insomnia_requests.json
incluído neste repositório.
O arquivo insomnia_requests.json
contém as requisições para todos os endpoints da API.
É possível utilizar este projeto em conjunto com um frontend desenvolvido em Angular. Você pode encontrar o repositório do projeto Angular aqui.
Siga as instruções do README do projeto Angular para configurá-lo e utilizá-lo junto com esta API.