- Abra o terminal integrado
- Verifique se ele está retornando o caminho da pasta principal do projeto
- Execute a instalação das dependências do projeto: usando "yarn install" ou "npm install"
- Use o comando "yarn dev" ou "npm run dev" para inicializar a API
- Execute o script de criação do banco de dados pelo comando ...
- Execute o script para criar as migrations pelo comando "yarn db:migrate"
- Para criar o seeder da tabela pessoas, use o comando "yarn seed-gen-pessoa"
-
/pessoas
Esse método realiza uma busca e retorna um array JSON contendo uma lista de todos os usuários cadastrados.
-
/pessoas/:id
Esse método realiza uma busca por usuário baseado no seu ID.
Recomenda-se o uso desse método com baseando-se no array JSON obtido pelo método anterior ( /pessoas ) para o usuário que estiver consultando escolha o nome do usuário e este aponte para seu ID correspondente.
Para implementar esse método inclua os parâmetro "name" do array JSON como dado a ser exibido na tag "datalist". Para requisitar a pesquisa, use o "ID" correspondente ao nome.
-
/pessoas/:estudanteId/matricula/:matriculaId
Esse Método pesquisa pelos status de Matrícula, ID de estudante e ID da turma
os valores :estudanteId e :matriculaId se referem aos IDs de estudante e maatrícula associados ao usuário, vejamos como podem ser usados:
http://www.meusite.com/pessoas/1/matricula/4
Para utilizá-lo, execute o mesmo procedimento recomendado no método anterior.
-
/pessoas
Esse método irá criar um usuário, sendo necessário informar em JSON:
"nome": "foo bar",
"email": foo@bar.com.br,
"ativo": True,
"role": "estudante" ou "docente"
-
/pessoas/:estudanteId/matricula
Esse método serve para indicar a criação de matrícula para o aluno já cadastrado, sendo necessário indicar no formado JSON o status e o id da turma
Os métodos PUT sobrescreverão os dados salvos sobre os usuários, preste bastante atenção ao ID correspondente ao usuário, bem como o ID da matrícula, são dois dados diferentes!
- /pessoas/:id
- /pessoas/:estudanteId/matricula/:matriculaId
- /pessoas/:id
- /pessoas/:estudanteId/matricula/:matriculaId
- /turmas
- /turmas/:id
Consulta por todas as turmas
Consulta turma por seu id
- /turmas
Esse método cria uma nova turma e usa como parâmetros os IDs de nível e de docente no corpo da requisição
- /turmas/:id
Atualiza turma pelo seu id tendo como parâmetros os ID do docente e ID do nível
- /turmas/:id
Deleta a turma correspondente ao ID
- /niveis
- /niveis/:id
Consulta por todas os niveis
Consulta o nivel por seu id
- /niveis
Esse método cria um novo nivel e usa como parâmetro a descrição do nível no corpo da requisição, por exemplo:
"descr_nivel": "básico" ou "intermediário" ou "avançado"
- /niveis/:id
Atualiza nivel pelo seu id tendo como parâmetro sua nova descrição
- /niveis/:id
Deleta o nivel correspondente ao ID
O estudo de caso desse projeto se baseia num cliente fictício, uma escola de TI que deseja implementar um sistema de aulas virtuais. Para tal ela apresentou como necessidade organizar o conteúdo pedagógico distribuído de modo organizado dentro do portal que eles mantém online.
A escola informou que o controle acadêmico precisa ser feito para se aproximar da realidade da secretaria acadêmica.
Deste modo foi informado que o sistema deve ser capaz de:
- Cadastrar individualmente cada aula
- Agrupar as aulas por disciplina
- A disciplina deve ser acessada somente pela classe que a está cursando
- Cada classe deve conter os alunos que a ela pertencem
- O cadastro dos alunos deve ser registrado pela matricula deles
- As classes devem ser classificadas pelo nível
- Somente os professores serão capazes de postar e editar as aulas e exercícios
- Os professores devem conseguir pesquisar o aluno pela matrícula
- O resultado da busca deve retornar a matrícula e o desempenho acadêmico do aluno, bem como quais aulas ele já assistiu até o momento da pesquisa ter sido feita
O desenvolvimento desse projeto objetiva a criação de uma API RESTful usando os recursos disponibilizados pelo Sequelize.js para organizar o fluxo de cadastro, consulta, atualização e deleção de dados de um sistema escolar.
- Git
- Node.js
- Yarn
- Nodemon
- Sequelize ORM
- MySQL & mysql-cli
- Postman
- Insomnia
- Beekeeper
- Heroku