API para cálculo de nota de alunos
-
Dê um Git clone.
-
Abra a pasta do projeto.
-
Ative o ambiente virtual env usando o comando (no Windows: env\Scripts\activate.bat), (no Linux ou MacOS: source tenv/bin/activate).
-
Rode o arquivo app.py na pasta src do projeto com o interpretador python.
-
Aí é só testar e ser feliz.
O projeto roda com postgres, configurado para ouvir a porta 4000 do localhost e o banco de dados ouvido pela aplicação se chama "app".
-
Retorna todos os registros existentes de alunos no banco de dados.
Metodos Aceitos:
- GET
A requisição feita a URL não requer corpo algum, apenas ser Feita como GET.
* Formato da Resposta: Json * Requer Autenticação: Não
-
Cadastra um aluno no banco de dados. Após receber um código identificador do aluno e o seu nome.
Metodos Aceitos:
- POST
A requisição feita a URL deve ser um Objeto JSON contendo os parâmetros. O objeto JSON é enviado no corpo da requisição, e tratado pela API e enviado ao banco de dados.
{ "id":"2", "nome":"Ana Belle" }
Nome Obrigatório Descrição Tipo id_aluno sim Identificador do aluno no banco de dados Inteiro nome sim Nome do aluno a ser registrado String * Formato da Resposta: Json * Requer Autenticação: Não
-
Deleta um registro de aluno do banco de dados. De acordo com o identificador fornecido à URL.
-
Deleta um registro de aluno do banco de dados. De acordo com o nome fornecido à URL.
Métodos Aceitos
- DELETE
A requisição recebe em sua URÇ codigo identificador do aluno, e consulta a base de dados para checar a existência, caso haja um registro condizente, o registro é deletado.
Nome Obrigatório Descrição Tipo id_aluno Sim Código Identificado do aluno Inteiro nome Sim Nome do aluno String * Formato da Resposta: Json * Parâmetros Opcionais: id_aluno || nome * Requer Autenticação: Não
-
-
Cadastra um novo registro de prova, recebendo um código identificador da prova e uma matéria Ao cadastrar uma prova, cadastra-se também suas respectivas questões, alternativas, a alternativa correta da questão e o peso de cada uma de suas questões.
Metodos Aceitos:
- POST
A requisição feita a URL deve receber um identificador da prova em sua URL via QueryString E um Objeto JSON para que possa tratado pela API e enviado ao banco de dados.
{ "materia": "Lingua Portuguesa", "questoes": [ { "questao1": { "pergunta": "Que o subtantivo relacionado a casa", "alternativa1": "todas as alternativas", "alternativa2": "janela", "alternativa3": "tijolo", "alternativa4": "dado", "alternativa_certa":"todas as alternativas", "peso": 1 }, "questao2": { "pergunta": "Que o subtantivo relacionado a casa", "alternativa1": "todas as alternativas", "alternativa2": "janela", "alternativa3": "tijolo", "alternativa4": "dado", "alternativa_certa":"todas as alternativas", "peso": 1 }, "questao3": { "pergunta": "Que o subtantivo relacionado a casa", "alternativa1": "todas as alternativas", "alternativa2": "janela", "alternativa3": "tijolo", "alternativa4": "dado", "alternativa_certa":"todas as alternativas", "peso": 1 }, "questao4": { "pergunta": "Que o subtantivo relacionado a casa", "alternativa1": "todas as alternativas", "alternativa2": "janela", "alternativa3": "tijolo", "alternativa4": "dado", "alternativa_certa": "todas as alternativas", "peso": 1 }, "questao5": { "pergunta": "Que o subtantivo relacionado a casa", "alternativa1": "todas as alternativas", "alternativa2": "janela", "alternativa3": "tijolo", "alternativa4": "dado", "alternativa_certa":"todas as alternativas", "peso": 1 }, "questao6": { "pergunta": "Que o subtantivo relacionado a casa", "alternativa1": "todas as alternativas", "alternativa2": "janela", "alternativa3": "tijolo", "alternativa4": "dado", "alternativa_certa": "todas as alternativas", "peso": 1 }, "questao7": { "pergunta": "Que o subtantivo relacionado a casa", "alternativa1": "todas as alternativas", "alternativa2": "janela", "alternativa3": "tijolo", "alternativa4": "dado", "alternativa_certa": "todas as alternativas", "peso": 1 }, "questao8": { "pergunta": "Que o subtantivo relacionado a casa", "alternativa1": "todas as alternativas", "alternativa2": "janela", "alternativa3": "tijolo", "alternativa4": "dado", "alternativa_certa": "todas as alternativas", "peso": 1 }, "questao9": { "pergunta": "Que o p relacionado a casa", "alternativa1": "todas as alternativas", "alternativa2": "janela", "alternativa3": "tijolo", "alternativa4": "dado", "alternativa_certa": "todas as alternativas", "peso": 1 }, "questao10": { "pergunta": "Que o dado relacionado a casa", "alternativa1": "todas as alternativas", "alternativa2": "janela", "alternativa3": "tijolo", "alternativa4": "dado", "alternativa_certa": "dado", "peso": 1 } } ] }
Nome Obrigatório Descrição Tipo Matéria sim Matéria da prova String Questôes sim Questões a serem cadastradas String Alternativas sim Alternativas a serem cadastradas String Alternativa_certa sim Alternativa correta da questão String Peso sim O peso de cada questão para a determinação da nota final da prova Inteiro * Formato da Resposta: Json * Requer Autenticação: Não
-
Cadastra as Respostas de um aluno para uma prova no banco de dados.
Metodos Aceitos:
- POST
A requisição feita a URL deve ser um Objeto JSON contendo os parâmetros. O objeto JSON é enviado no corpo da requisição, e tratado pela API e enviado ao banco de dados.
{ "id_aluno": 2, "id_prova": 1, "respostas": [ { "resposta1": "todas as alternativas", "resposta2": "todas as alternativas", "resposta3":"todas as alternativas", "resposta4": "todas as alternativas", "resposta5": "qualquer coisa", "resposta6": "todas as alternativas", "resposta7": "outro", "resposta8": "todas as alternativas", "resposta9": "n sei", "resposta10": "dado" } ] }
Nome Obrigatório Descrição Tipo id_aluno sim Identificador do aluno no banco de dados Inteiro id_prova sim Identificador da prova no banco de dados Inteiro Respostas Sim Respostas a serem cadastradas no banco de dados String * Formato da Resposta: Json * Requer Autenticação: Não
-
Retorna todas as provas cadastradas no banco de dados.
Metodos Aceitos:
- GET
A requisição feita a URL não necessita de parâmetros.
* Formato da Resposta: Json * Requer Autenticação: Não
-
Retorna uma prova específica com suas questões e suas alternativas para que possa ser aplicada.
> http://localhost/provas/aplicacao/1
Metodos Aceitos:
- GET
A requisição feita a URL deve feito contendo o identificador da prova na URL via querystring.
Nome Obrigatório Descrição Tipo id_prova sim Identificador da prova no banco de dados Inteiro * Formato da Resposta: Json * Requer Autenticação: Não
-
Calcula a nota de um aluno em uma prova específica.
Metodos Aceitos:
- GET
A requisição feita a URL necessita de dois parâmetros que são enviados via queryString.
Nome Obrigatório Descrição Tipo id_aluno sim Identificador do aluno no banco de dados Inteiro id_prova sim Identificador da prova no banco de dados Inteiro * Formato da Resposta: Json * Requer Autenticação: Não
-
Retorna a nota de um aluno específico do banco de dados.
Metodos Aceitos:
- GET
A requisição feita a URL deve apenas ter o identificado do aluno com querystring.
Nome Obrigatório Descrição Tipo id_aluno sim Identificador do aluno no banco de dados Inteiro * Formato da Resposta: Json * Requer Autenticação: Não
-
Retorna todas as notas de alunos do banco de dados.
> http://localhost/consulta/notas/alunos/
Metodos Aceitos:
- GET
A requisição feita a URL não necessita ter uma forma específica.
* Formato da Resposta: Json * Requer Autenticação: Não
-
Calcula a nota final de um aluno específico.
Metodos Aceitos:
- GET
A requisição feita a URL deve apenas ter o identificado do aluno com querystring.
* Formato da Resposta: Json * Requer Autenticação: Não
-
Consulta a nota final de um aluno específico.
Metodos Aceitos:
- GET
A requisição feita a URL deve apenas ter o identificado do aluno com querystring.
* Formato da Resposta: Json * Requer Autenticação: Não
-
Retorna todos os alunos aprovados do banco de dados.
Metodos Aceitos:
- GET
A requisição feita a URL apenas.
* Formato da Resposta: Json * Requer Autenticação: Não