An open API service indexing awesome lists of open source software.

https://github.com/itsmenicky/school-api-flask


https://github.com/itsmenicky/school-api-flask

Last synced: 8 months ago
JSON representation

Awesome Lists containing this project

README

          

School API 🏥


Uma API para cadastro de professores, alunos e turmas utilizando Flask e o ORM sqlite. Funcionalidades:


  • Cadastro de alunos

  • Cadastro de professores

  • Cadastro de turmas

  • Listagem de alunos

  • Listagem de professores

  • Listagem de turmas

Foi utilizado o SQLITE para criação das tabelas:

```markdown

### Tabela: `TEACHERS`

| Campo | Tipo | Descrição |
|---------------|--------------|------------------------------------|
| ID | INTEGER | PRIMARY KEY |
| NOME | VARCHAR(120) | Nome do professor |
| IDADE | INTEGER | Idade do professor |
| MATERIA | VARCHAR(120) | Matéria lecionada |
| OBSERVACOES | VARCHAR(120) | Observações sobre o professor |

### Tabela: `STUDENTS`

| Campo | Tipo | Descrição |
|---------------|--------------|------------------------------------|
| ID | INTEGER | PRIMARY KEY |
| NOME | VARCHAR(120) | Nome do aluno |
| IDADE | INTEGER | Idade do aluno |
| TURMA_ID | INTEGER | FOREIGN KEY |
| DATA DE NASCIMENTO | VARCHAR(120) | Data de nascimento |
| NOTA_PRIMEIRO_SEMESTRE | VARCHAR(120) | Nota do primeiro semestre |
| NOTA_SEGUNDO_SEMESTRE | VARCHAR(120) | Nota do segundo semestre |
| MEDIA_FINAL | FLOAT | Média final do aluno |

### Tabela: `CLASSES`

| Campo | Tipo | Descrição |
|---------------|--------------|------------------------------------|
| ID | INTEGER | PRIMARY KEY |
| DESCRICAO | VARCHAR(120) | Descrição da turma |
| PROFESSOR_ID | INTEGER | FOREIGN KEY |
| ATIVO | VARCHAR(15) | Status da turma |

```

Para o mapeamento das tabelas foi utilizado o ORM SQLAlchemy

Rotas


Professores




  • Cadastrar professor - teachers/create (Método: POST)


  • Puxar professor cadastrado - teacher/[id do professor] (Método: GET)


  • Puxar todos os professores cadastrados - teachers/all (Método: GET)


  • Editar informações de um professor - teacher/[id do professor] (Método: PUT ou POST)


  • Deletar um professor - teacher/[id do professor]/delete (Método: DELETE ou POST)


Turmas




  • Cadastrar turma - classes/create (Método: POST)


  • Puxar turma cadastrada - classroom/[id da turma] (Método: GET)


  • Puxar todas as turmas cadastradas - classes/all (Método: GET)


  • Editar informações de uma turma - classroom/[id da turma] (Método: PUT ou POST)


  • Deletar uma turma - classroom/[id da turma]/delete (Método: DELETE ou POST)


Alunos




  • Cadastrar aluno - students/create (Método: POST)


  • Puxar aluno cadastrado - student/[id do aluno] (Método: GET)


  • Puxar todos os alunos cadastrados - students/all (Método: GET)


  • Editar informações de um aluno - student/[id do aluno] (Método: PUT ou POST)


  • Deletar um aluno - student/[id do aluno]/delete (Método: DELETE ou POST)