RESUMO

Este projeto visa oferecer APIs REST efetuar operações básicas de uma instituiçao de ensino, através do DRF (Django Rest Framework).

Instalação

image

Super usuário django

Neste projeto, comtamos com o super usuário: login:professor senha:pardal Caso deseje criar suas próprias credenciais, na pasta raiz do projeto, digite: python manage.py createsuperuser e siga as instruções.

Funcionalidades

Através do django admin, professores podem:

  • Cadastrar, editar, remover e visualizar disciplinas (e.g.: 'Matemática','Português') image

  • Cadastrar, editar, remover e visualizar séries (e.g.: '1ª série fundamental') image

  • Cadastrar, editar, remover e visualizar novos alunos (vinculando: série) image

  • Cadastrar, editar, remover e visualizar questionários (vinculando: disciplina e série) image

  • Cadastrar, editar, remover e visualizar perguntas (viculando: questionário) image

  • Cadastrar, editar, remover e visualizar alternativas (vinculando: perguntas) image

Alunos podem:

  • Cadastrar respostas (vinculando: id_aluno e pergunta), através do método POST

Diagrama de relações entre modelos

image

Endpoints

Através de localhost/api/, podemos visualizar os endpoints no padrão: [ MÉTODO ] /endpoint/: image

Na prática

Para visualizar a relação completa de perguntas, podemos:

  • GET localhost/api/admin/perguntas/ para visualizar as perguntas e resposta correta: image

  • GET localhost/api/aluno/perguntas/ para visualizar apenas perguntas: image

  • GET localhost/api/admin/perguntas/<id_pergunta> para visualizar apenas uma pergunta específica e sua resposta correta: image

  • GET localhost/api/aluno/perguntas/<id_pergunta> para visualizar apenas uma pergunta específica: image

  • POST localhost/api/resposta/<id_aluno> para enviar respostas ao servidor, a partir de um dicionário contendo as chaves: id_pergunta e valor. Retorna um dicionário com a chave acertou:bool: image

  • GET localhost/api/desempenho/<id_aluno>/<id_questionario> para visualizar o desemprenho de um aluno no questionário especificado:

image