O Que Materia Eu Faço disponibiliza uma API REST que permite o cadastro de cursos, disciplinas, turmas, horarios-aula e alunos, e o acesso do aluno a seu histórico e recomendação de grades horária.
Recursos disponíveis para acesso via API:
1. Clone a aplicação
https://github.com/br93/que-materia-eu-faco.git
2. Mude o usuário e senha mysql de acordo com sua instalação MySQL
-
abra
src/main/resources/application.properties
-
modifique
spring.datasource.username
espring.datasource.password
de acordo com sua instalação do mySQL
3. Rode o app usando Apache Maven
mvn spring-boot:run
ou utilizando a IDE de sua escolha.
O app estará rodando no link http://localhost:8080.
Azure: https://que-materia-eu-faco-1667957040279.azurewebsites.net/
Requisições para a API devem seguir os padrões:
Método | Descrição |
---|---|
GET |
Retorna informações de recurso. |
POST |
Cria um novo recurso. |
PUT |
Atualiza um recurso. |
PATCH |
Atualiza dados parciais de um recurso. |
DELETE |
Remove um recurso do sistema. |
- Documentação SWAGGER: http://localhost:8080/swagger-ui/
-
Requisição (application/json)
-
Parâmetros
{ "codigo": "236" }
-
-
Resposta 200 (application/json)
{ "codigo": "236", "duracao": 8, "nome": Bacharelado em Sistemas de Informação" }
-
Resposta 200 (application/json)
{ "paged": true, "pagedSize": 10, "pageNumber": 0, "content": [ { "codigo": "236", "duracao": "8", "nome": "Bacharelado em Sistemas de Informação" } ] }
-
Requisição (application/json)
-
Parâmetros
{ "nome": Bacharelado em Sistemas de Informação" "codigo": "236", "quantidadeDePeriodos": 8, }
-
-
Resposta 200 (application/json)
{ "nome": Bacharelado em Sistemas de Informação" "codigo": "236", "duracao": 8, }
-
Requisição (application/json)
-
Parâmetros
{ "codigo": "236", }
-
-
Resposta 204 (application/json)
{}
-
Requisição (application/json)
-
Parâmetros
{ "codigo": "CSG20" }
-
-
Resposta 200 (application/json)
{ "nome": "Analise e Projeto de Sistemas", "codigo": "CSG20", "requisitos": [ { "nome": Técnicas de Programação", "codigo": "CSE20", "requisitos": [ { "nome": "Fundamentos de Programação 1", "codigo": "CSF13", "requisitos": [] } ] }
-
Resposta 200 (application/json)
{ "paged": true, "pagedSize": 10, "pageNumber": 0, "content": [ { "nome": "Fundamentos de Programação 1", "codigo": "CSF13", "requisitos": [] } { "nome": "Técnicas de Programação", "codigo": "CSE20", "requisitos": [ { "nome": "Fundamentos de Programação 1", "codigo": "CSF13", "requisitos": [] } ] } ] }
-
Requisição (application/json)
-
Parâmetros
{ "nome": "Analise e Projeto de Sistemas" "codigo": "CSG20", "cargaHoraria": 45, }
-
-
Resposta 200 (application/json)
{ "nome": "Analise e Projeto de Sistemas", "codigo": "CSG20", "requisitos": []" }
-
Requisição (application/json)
-
Parâmetros
{ "curso": "236" "disciplina": "CSG20" "periodo": 4 "preRequisitos": 5 (quantidade de materias que tem esta como pre-requisito), "tipoDeDisciplina": 1, }
-
-
Resposta 200 (application/json)
{ "curso": "Bacharelado em Sistemas de Informação" "disciplina": "Analise e Projeto de Sistemas", "periodo": 4, "tipoDeDisciplina": "Obrigatória" }
-
Requisição (application/json)
-
Parâmetros
{ "codigo": "QB70E", "codigo": "QB70J" }
-
-
Resposta 200 (application/json)
{ "nome": "Ciências do Ambiente", "codigo": "QB70E", "requisitos": []" }
-
Requisição (application/json)
-
Parâmetros
{ "disciplina": "QB70E", "equivalencia": "QB70J" }
-
-
Resposta 200 (application/json)
{ "nome": "Ciências do Ambiente", "codigo": "QB70E", "requisitos": []" }
-
Requisição (application/json)
-
Parâmetros
{ "codigo": "CSG20", "codigo": "CSE20" }
-
-
Resposta 200 (application/json)
{ "nome": "Analise e Projeto de Sistemas", "codigo": "CSG20", "requisitos": [ { "nome": Técnicas de Programação", "codigo": "CSE20", "requisitos": [ { "nome": "Fundamentos de Programação 1", "codigo": "CSF13", "requisitos": [] } ] }
-
Requisição (application/json)
-
Parâmetros
{ "disciplina": "CSG20", "preRequisito": "CSE20" }
-
-
Resposta 200 (application/json)
{ "nome": "Analise e Projeto de Sistemas", "codigo": "CSG20", "requisitos": [] }
-
Requisição (application/json)
-
Parâmetros
{ "codigo": "CSG20", }
-
-
Resposta 204 (application/json)
{}
-
Requisição (application/json)
-
Parâmetros
{ "codigo": "CSG20-S73" }
-
-
Resposta 200 (application/json)
{ "codigo": "CSG20-S73", "disciplina": "Análise e Projeto de Sistemas", "horários": [ { "nome": Análise e Projeto de Sistemas", "codigo": "CSG20", "turma": "CSG20-S73", "dia": 3, "horario": "T1" }, { "nome": Análise e Projeto de Sistemas", "codigo": "CSG20", "turma": "CSG20-S73", "dia": 3, "horario": "T2" }, { "nome": Análise e Projeto de Sistemas", "codigo": "CSG20", "turma": "CSG20-S73", "dia": 3, "horario": "T3" } ] }
-
Resposta 200 (application/json)
{ "paged": true, "pagedSize": 10, "pageNumber": 0, "content": [ { "codigo": "CSG20-S73", "disciplina": "Análise e Projeto de Sistemas", "horários": [ { "nome": Análise e Projeto de Sistemas", "codigo": "CSG20", "turma": "CSG20-S73", "dia": 3, "horario": "T1" }, { "nome": Análise e Projeto de Sistemas", "codigo": "CSG20", "turma": "CSG20-S73", "dia": 3, "horario": "T2" }, { "nome": Análise e Projeto de Sistemas", "codigo": "CSG20", "turma": "CSG20-S73", "dia": 3, "horario": "T3" }, { "codigo": "CSG20-S71", "disciplina": "Análise e Projeto de Sistemas", "horários": [ { "nome": Análise e Projeto de Sistemas", "codigo": "CSG20", "turma": "CSG20-S71", "dia": 4, "horario": "M3" }, { "nome": Análise e Projeto de Sistemas", "codigo": "CSG20", "turma": "CSG20-S73", "dia": 4, "horario": "M4" }, { "nome": Análise e Projeto de Sistemas", "codigo": "CSG20", "turma": "CSG20-S73", "dia": 4, "horario": "M5" } ] }
-
Requisição (application/json)
-
Parâmetros
{ "codigo": "CSG20-S73", "disciplina": "CSG20", }
-
-
Resposta 200 (application/json)
{ "codigo": "CSG20-S73", "disciplina": "CSG20", "horarios": []" }
-
Requisição (application/json)
-
Parâmetros
{ "codigo": "CSG20-S73", }
-
-
Resposta 204 (application/json)
{}
-
Requisição (application/json)
-
Parâmetros
{ "codigo": "CSG20-S73" }
-
-
Resposta 200 (application/json)
[ { "id": 272, "nome": "Análise e Projeto de Sistemas", "codigo": "CSG20", "turma": "CSG20-S73", "dia": 3, "horario": "T1" }, { "id": 273, "nome": "Análise e Projeto de Sistemas", "codigo": "CSG20", "turma": "CSG20-S73", "dia": 3, "horario": "T2" }, { "id": 274, "nome": "Análise e Projeto de Sistemas", "codigo": "CSG20", "turma": "CSG20-S73", "dia": 3, "horario": "T4" } ]
-
Resposta 200 (application/json)
{ "paged": true, "pagedSize": 10, "pageNumber": 0, "content": [ { "nome": "Análise e Projeto de Sistemas", "codigo": "CSG20", "turma": "CSG20-S73", "dia": 3, "horario": "T1" }, { "nome": "Análise e Projeto de Sistemas", "codigo": "CSG20", "turma": "CSG20-S73", "dia": 3, "horario": "T2" }, { "nome": "Análise e Projeto de Sistemas", "codigo": "CSG20", "turma": "CSG20-S73", "dia": 3, "horario": "T3" }, ] }
-
Requisição (application/json)
-
Parâmetros
{ "turma": "CSG20-S73", "dia": "3", "horario": "T1", }
-
-
Resposta 200 (application/json)
{ "turma": "CSG2O-S73" "nome": "Análise e Projeto de Sistemas" "codigo": "CSG20", "dia": "3", "horario": "T1" }
-
Requisição (application/json)
-
Parâmetros
{ "id": 272, }
-
-
Resposta 204 (application/json)
{}
-
Requisição (application/json)
-
Parâmetros
{ "horas": 20, "manha": true, "tarde": false, "noite": false }
-
-
Requisição (application/json)
-
Parâmetros
{ "horas": 20, "manha": true, "tarde": false, "noite": false }
-
-
Requisição (application/json)
-
Parâmetros
{ "dia": 2, "horario": T5 }
-
-
Requisição (application/json)
-
Parâmetros
{ "dia": 2, "horario": T5 }
-
-
Requisição (application/json)
-
Parâmetros
{ "dia": 2, "horario": T5 }
-
Relatório de disciplinas de enriquecimento curricular (/v1/recomendacoes/enriquecimento/relatorio) [GET]
-
Requisição (application/json)
-
Parâmetros
{ "dia": 2, "horario": T5 }
-