Labenu System é um projeto de Backend que tem a finalidade de introduzir a lógica da Programação Orientada a Objetos, utilzando os conceitos de Classes, Herança, polimorfismo e também no aprofundamento das estruturas de banco de dados, com algumas tabelas relacionais de um para muitos e muitos para muitos.
O projeto possui o tema da própria institução Labenu, com a criação de uma estrutura com as entidades de turmas, estudantes e instrutuors, possuindo funções que poderiam existir neste tipo de sistema.
Link da Documentação via Postman:
https://documenter.getpostman.com/view/24755055/2s8Z75Spvm
- Com o Postman instalado em seu computador, basta abrir a documentação e clicar no botão
para testar diretamente no Postman.
- inicie o Git Bash em uma pasta e digite:
- git clone https://github.com/RenatoAlexandrini/LabenuSystem
- npm install
- npm run migrations
- npm run start
- Em cada endpoint, substitua o "https://jemison-labesystem1.onrender.com" por "http://localhost:3003"
Endpoint que recebe através de um "body" apenas o nome da nova turma, antes da confirmação da criação, será verificado se já existe alguma turma cadastrada anteriormente com o mesmo nome.
Endpoint que retorna uma lista com todas as turmas que já iniciaram o curso, portanto estão em um dos seis módulos que o curso possui, ordenados em ordem crescente do módulo que a turma se encontra.
Endpoint que drecebe por "params" o id de uma turma e faz a verificação se a turma existe no banco de dados. Então recebe através da "query" o número do novo módulo, que deverá ser um número de 1 a 6 onde não é possível atribuir o valor de um módulo abaixo do módulo atual.
Endpoint que recebe o id de uma turma através da "query", verifica se a turma existe, então exibe uma relação de todos os instrutores e estudantes desta turma.
Endpoint que recebe através de um "body" um nome, um email uma data de nascimento e um array com as especialidades do instrutor, então antes da confirmação da criação, verifica se o email cadastrado já existe no banco de dados e também se as especialidades correspondem a uma das seis especialidade existentes no banco de dados.
Endpoint que recebe através do "params" o id de um instrutor, fazendo a verificação se o mesmo está cadastrado no banco de dados. Então recebe o nome de uma turma através da "query" fazendo a verificação se a turma existe no banco de dados, para finalmente atribuir a nova turma ao instrutor.
Endpoint que retorna uma lista com todos os dados dos instrutores, incluindo as especialidades de cada um deles.
Endpoint que retorna todos os Instruturos que possuem a especialidade de Programação Orientada a Objetos.
Endpoint que recebe através de um "body" um nome, um email uma data de nascimento e um array com os hobbies de um estudante, fazendo a verificação se o email informado já foi cadastrado anteriormente no banco de dados. Então verifica os hobbies informados, cadastrando aqueles que não correspondem a nenhum hobby cadastrado anteriormente, antes da confirmação da criação do novo estudante.
Endpoint que recebe através do "path params" o id de um estudante, fazendo a verificação se ele está cadastrado no banco de dados. Enãto recebe o nome de uma turma através da "query" fazendo a verificação se a turma existe no banco de dados, para finalmente atribuir a nova turma ao estudante.
Endpoint que recebe através da "query" um termo então retorna todos os estudantes que possuam este termo em qualquer parte do nome ou sobrenome.
Endpoint que recebe através da "query" um hobby, então verifica se o hobby informado está cadastrado no banco de dados, para então retornar todos os estudantes que possuem este hobby atribuído.
Endpoint que recebe através da "query" um dos 12 signos do Zodíaco e então retorna todas as pessoas cadastradas, entre estudantes e intrutores são do signo iformado. Neste Endpoint não existe separação entre estudantes e instrutores.
Renato Alexandrini |
|---|

