Skip to content

RenatoAlexandrini/LabenuSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto Labenu System

Badge Finalizado


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.


Como Testar

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.

Para testar localmente:

- 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"

Endpoints:

Criar uma turma:

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.

Buscar turmas ativas:

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.

Mudar turma de módulo:

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.

Buscar todas as pessoas da mesma turma:

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.

Cadastrar instrutor:

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.

Mudar instrutor de turma:

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.

Buscar todos os instrutores:

Endpoint que retorna uma lista com todos os dados dos instrutores, incluindo as especialidades de cada um deles.

Buscar todos os instrutores especialistas em Programação Orientada a Objetos:

Endpoint que retorna todos os Instruturos que possuem a especialidade de Programação Orientada a Objetos.

Cadastrar estudante:

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.

Mudar estudante de turma:

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.

Buscar estudantes através do nome:

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.

Buscar estudantes atrvés de um hobby:

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.

Buscar todas as pessoas através de um signo do Zodíaco:

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.

Técnicas e tecnologias utilizadas

  • Typescript
  • SQL


Autor:


Renato Alexandrini

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published