Skip to content

reprograma/on18-tet-s11-pg-II

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

logo reprograma

Tema da Aula

Turma Online 18 - Todas em Tech | back-end | Semana 11 | 2022 | Professora Beatriz Ramerindo

Instruções

Antes de começar, vamos organizar nosso setup.

  • Fork esse repositório
  • Clone o fork na sua máquina (Para isso basta abrir o seu terminal e digitar git clone url-do-seu-repositorio-forkado)
  • Entre na pasta do seu repositório (Para isso basta abrir o seu terminal e digitar cd nome-do-seu-repositorio-forkado)

Resumo

Conteúdo

Documentação

É fundamental quando disponibilizamos uma API ela ter uma documentação com instruçoes para uso.

[GET]/alunas

retorna todas as alunas

Aceita como parametro de consulta

Parametro Descricao
nome Realiza um filtro pelo nome
cidade Realiza um filtro por cidade
bairro Realiza um filtro por bairro
mae Realiza um filtro pelo nome da mae
pai Realiza um filtro pelo nome do pai

resposta: HTTP 200 OK

[
   {
    "id": "7dac422f-0fe5-471e-8721-4e857a955614",
    "nome_social": "Cláudia",
    "nome_registro": "Natsu Daniela Gomes",
    "genero": "Mulher Trans",
    "sexo": "F",
    "email": "claudia-gomes83@email.com",
    "data_nasc": "2004/08/15",
    "cpf": "777.749.847-98",
    "rg": "28.692.250-2",
    "signo": "Leão",
    "mae": "Emanuelly Renata",
    "pai": "Breno Martin Gomes",
    "senha": "hYw35ayOU6",
    "cep": "20251-050",
    "endereco": "Rua Caetano Martins",
    "numero": 916,
    "bairro": "Rio Comprido",
    "cidade": "Rio de Janeiro",
    "estado": "RJ",
    "telefone_fixo": "(21) 3685-6747",
    "celular": "(21) 99365-8069",
    "altura": "1,83",
    "peso": 70,
    "tipo_sanguineo": "A-",
    "cor": "amarelo",
    "notas": {
      "ciencias_da_natureza": 10,
      "ciencias_humanas": 10,
      "linguagens_codigos": 10,
      "matematica": 10,
      "redacao": 10
    },
    "turma": "2022"
  },
]

[GET]/alunas/{id}

retorna todas as alunas

Aceita como parametro de consulta

Parametro Descricao
id id da aluna

resposta: HTTP 200 OK

{
  "id": "7dac422f-0fe5-471e-8721-4e857a955614",
  "nome_social": "Cláudia",
  "nome_registro": "Natsu Daniela Gomes",
  "genero": "Mulher Trans",
  "sexo": "F",
  "email": "claudia-gomes83@email.com",
  "data_nasc": "2004/08/15",
  "cpf": "777.749.847-98",
  "rg": "28.692.250-2",
  "signo": "Leão",
  "mae": "Emanuelly Renata",
  "pai": "Breno Martin Gomes",
  "senha": "hYw35ayOU6",
  "cep": "20251-050",
  "endereco": "Rua Caetano Martins",
  "numero": 916,
  "bairro": "Rio Comprido",
  "cidade": "Rio de Janeiro",
  "estado": "RJ",
  "telefone_fixo": "(21) 3685-6747",
  "celular": "(21) 99365-8069",
  "altura": "1,83",
  "peso": 70,
  "tipo_sanguineo": "A-",
  "cor": "amarelo",
  "notas": {
  "ciencias_da_natureza": 10,
  "ciencias_humanas": 10,
  "linguagens_codigos": 10,
  "matematica": 10,
  "redacao": 10
  },
  "turma": "2022"
},

[GET] /alunas/{id}/notas

retorna as notas de uma aluna

É necessário o ID da aluna

Parametro Descricao
id id da aluna

resposta: HTTP 200 OK

{
  "ciencias_da_natureza": 10,
  "ciencias_humanas": 10,
  "linguagens_codigos": 10,
  "matematica": 10,
  "redacao": 10
};

GET /alunas/{turma}/boletim

retorna o boletim de todas as alunas daquela turma

Parametro Descricao
turma turma da aluna

resposta: HTTP 200 OK

[{
    "ciencias_da_natureza": 10,
    "ciencias_humanas": 10,
    "linguagens_codigos": 10,
    "matematica": 10,
    "redacao": 10,
    "situacao" : "APROVADO",
    "media" : 10,
    "turma": "2022",
    "nome" : "Cláudia"
}];

[POST] /alunas/criar

cadastra uma aluna

Requirido body

Exemplo - Request
   {
    "nome_social": "Cláudia",
    "nome_registro": "Natsu Daniela Gomes",
    "genero": "Mulher Trans",
    "sexo": "F",
    "email": "claudia-gomes83@email.com",
    "data_nasc": "2004/08/15",
    "cpf": "777.749.847-98",
    "rg": "28.692.250-2",
    "signo": "Leão",
    "mae": "Emanuelly Renata",
    "pai": "Breno Martin Gomes",
    "senha": "hYw35ayOU6",
    "cep": "20251-050",
    "endereco": "Rua Caetano Martins",
    "numero": 916,
    "bairro": "Rio Comprido",
    "cidade": "Rio de Janeiro",
    "estado": "RJ",
    "telefone_fixo": "(21) 3685-6747",
    "celular": "(21) 99365-8069",
    "altura": "1,83",
    "peso": 70,
    "tipo_sanguineo": "A-",
    "cor": "amarelo",
    "turma": "2022"
  },

resposta: HTTP 201 OK

 {
    "id": "7dac422f-0fe5-471e-8721-4e857a955614",
    "nome_social": "Cláudia",
    "nome_registro": "Natsu Daniela Gomes",
    "genero": "Mulher Trans",
    "sexo": "F",
    "email": "claudia-gomes83@email.com",
    "data_nasc": "2004/08/15",
    "cpf": "777.749.847-98",
    "rg": "28.692.250-2",
    "signo": "Leão",
    "mae": "Emanuelly Renata",
    "pai": "Breno Martin Gomes",
    "senha": "hYw35ayOU6",
    "cep": "20251-050",
    "endereco": "Rua Caetano Martins",
    "numero": 916,
    "bairro": "Rio Comprido",
    "cidade": "Rio de Janeiro",
    "estado": "RJ",
    "telefone_fixo": "(21) 3685-6747",
    "celular": "(21) 99365-8069",
    "altura": "1,83",
    "peso": 70,
    "tipo_sanguineo": "A-",
    "cor": "amarelo",
    "notas": {},
    "turma": "2022"
  },

[POST] /alunas/{id}/notas

cadastra as notas de uma aluna

Requirido body

Exemplo - Request
{
    "ciencias_da_natureza": 10,
    "ciencias_humanas": 10,
    "linguagens_codigos": 10,
    "matematica": 10,
    "redacao": 10,
};

resposta: HTTP 201 OK

 {
    "ciencias_da_natureza": 10,
    "ciencias_humanas": 10,
    "linguagens_codigos": 10,
    "matematica": 10,
    "redacao": 10,
 },

[PUT]/alunas/{id}/atualizar

Atualiza uma aluna

Body exemplo

resposta: HTTP 200 OK

 {
    "id": "7dac422f-0fe5-471e-8721-4e857a955614",
    "nome_social": "Cláudia",
    "nome_registro": "Natsu Daniela Gomes",
    "genero": "Mulher Trans",
    "sexo": "F",
    "email": "claudia-gomes83@email.com",
    "data_nasc": "2004/08/15",
    "cpf": "777.749.847-98",
    "rg": "28.692.250-2",
    "signo": "Leão",
    "mae": "Emanuelly Renata",
    "pai": "Breno Martin Gomes",
    "senha": "hYw35ayOU6",
    "cep": "20251-050",
    "endereco": "Rua Caetano Martins",
    "numero": 916,
    "bairro": "Rio Comprido",
    "cidade": "Rio de Janeiro",
    "estado": "RJ",
    "telefone_fixo": "(21) 3685-6747",
    "celular": "(21) 99365-8069",
    "altura": "1,83",
    "peso": 70,
    "tipo_sanguineo": "A-",
    "cor": "amarelo",
    "notas": {},
    "turma": "2022"
  },

[PUT]/alunas/{id}/notas

Atualiza a nota de uma aluna

Body exemplo

resposta: HTTP 200 OK

 {
    "ciencias_da_natureza": 10,
    "ciencias_humanas": 10,
    "linguagens_codigos": 10,
    "matematica": 10,
    "redacao": 10,
 },

[DELETE]/alunas/{id}/deletar

Deleta uma aluna

É necessário o ID da aluna

Parametro Descricao
id id da aluna

resposta: HTTP 204 NO CONTENT

 { }

Arquitetura do projeto

📂 API     
├─ 📂 src 
│  ├─ 📂 controllers
│  │  └─ alunasController.js
│  ├─ 📂 models
│  │  └─ alunasModel.js
│  ├─ 📂 database
│  │  └─ banco.js
│  ├─ 📂 routes
│  │  └─ alunasRouter.js
│  └─ app.js
├─ package-lock.json
├─ package.json
├─ .gitignore 
├─ README.md
└─ server.js

Dependencias

Dependencia Versao
NodeJs >= 14x
NPM >= 8x
Express -
Nodemon -

Exercícios

Material da aula

Links Úteis

Obrigada meninas, Bea

Desenvolvido com 💜

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published