POC - FLASK

📄 Descrição

CRUD em uma tabela de estudantes de uma faculdade utilizando SQLite3 e Flask.

⚙️ Funcionamento

  • 🟩 GET /students

    Payload: Nenhum
    Resposta: JSON com todos os estudantes
    Exemplo:
              [
                {
                  "curso": "Engenharia Mecânica",
                  "email": "joao.silva@example.com",
                  "matricula": 1001,
                  "nascimento": "1995-07-15",
                  "nome": "João",
                  "sobrenome": "Silva",
                  "telefone": "2165456545"
                },
                {
                  "curso": "Administração",
                  "email": "maria.santos@example.com",
                  "matricula": 1002,
                  "nascimento": "1994-09-20",
                  "nome": "Maria",
                  "sobrenome": "Santos",
                  "telefone": "2195765456"
                },
                {
                  "curso": "Medicina",
                  "email": "pedro.ferreira@example.com",
                  "matricula": 1003,
                  "nascimento": "1996-02-10",
                  "nome": "Pedro",
                  "sobrenome": "Ferreira Alberto",
                  "telefone": "2233654568"
                },
                {
                  "curso": "Medicina",
                  "email": "rafael.alves@example.com",
                  "matricula": 1004,
                  "nascimento": "1996-02-10",
                  "nome": "Rafael",
                  "sobrenome": "Alves da Cunha",
                  "telefone": "21634789745"
                },
                {
                  "curso": "Artes Visuais",
                  "email": "carlos.silva@example.com",
                  "matricula": 1005,
                  "nascimento": "1992-06-10",
                  "nome": "Carlos",
                  "sobrenome": "da Silva Pinto",
                  "telefone": "21995487897"
                },
                {
                  "curso": "Engenharia Mecânica",
                  "email": "andressa.moraes@example.com",
                  "matricula": 1006,
                  "nascimento": "1991-02-12",
                  "nome": "Andressa",
                  "sobrenome": "Moraes da Cunha",
                  "telefone": "1145678479"
                },
                {
                  "curso": "Engenharia Naval",
                  "email": "jose.pereira@example.com",
                  "matricula": 1007,
                  "nascimento": "1995-11-10",
                  "nome": "José",
                  "sobrenome": "Pereira de Oliveira",
                  "telefone": "2145612345"
                },
                {
                  "curso": "Música",
                  "email": "bernardo.silva@example.com",
                  "matricula": 1008,
                  "nascimento": "1996-03-10",
                  "nome": "Bernardo",
                  "sobrenome": "Silva Souto",
                  "telefone": "11997845678"
                },
                {
                  "curso": "Música",
                  "email": "leticia.lopes@example.com",
                  "matricula": 1009,
                  "nascimento": "1997-05-05",
                  "nome": "Letícia",
                  "sobrenome": "Drummound Lopes",
                  "telefone": "2154564563"
                }
              ]
            

  • 🟩 GET /students/:matricula

    Payload: Nenhum
    Resposta: JSON com dados do estudante
    Exemplo:
                {
                  "curso": "Engenharia Mecânica",
                  "email": "joao.silva@example.com",
                  "matricula": 1001,
                  "nascimento": "1995-07-15",
                  "nome": "João",
                  "sobrenome": "Silva",
                  "telefone": "2165456545"
                }
            

  • 🟦 POST /students

    Payload: JSON com dados do estudante
    Resposta: JSON com dados do estudante
    Exemplo: Payload e retorno:
                {
                  "curso": "Engenharia Mecânica",
                  "email": "joao.silva@example.com",
                  "matricula": 1001,
                  "nascimento": "1995-07-15",
                  "nome": "João",
                  "sobrenome": "Silva",
                  "telefone": "2165456545"
                }
            

  • 🟨 PUT /students/:matricula

    Payload: JSON com dados do estudante
    Resposta: JSON com dados atualizados do estudante
    Exemplo: Payload e retorno:
                {
                  "curso": "Engenharia de Computação",
                  "email": "joao.silva@example.com",
                  "matricula": 1001,
                  "nascimento": "1995-07-15",
                  "nome": "João",
                  "sobrenome": "Silva",
                  "telefone": "2165456545"
                }
            

  • 🟥 DELETE /students/:matricula

    Payload: Nenhum
    Resposta: JSON com dados do estudante removido
    Exemplo: Retorno:
                {
                  "curso": "Engenharia Mecânica",
                  "email": "joao.silva@example.com",
                  "matricula": 1001,
                  "nascimento": "1995-07-15",
                  "nome": "João",
                  "sobrenome": "Silva",
                  "telefone": "2165456545"
                }
            

💙 Para rodar o projeto

  1. Clone o repositório: git clone git@github.com:DaniloLO53/POC-Python-Flask.git
  2. Abra o terminal na raíz do projeto
  3. Crie um ambiente virtual .venv
    python3 -m venv .venv
  4. Ative o ambiente virtual
    source .venv/bin/activate
  5. Instale as dependências necessárias
    pip install -r requirements.txt
  6. Inicie a aplicação
    flask --app run run
Pode ser necessário reiniciar o editor