Skip to content

Este repositório contém uma API RESTful desenvolvida em Python com Flask, voltada para a gestão escolar. A plataforma permite que professores e alunos sejam cadastrados, organização de matérias e atividades, além do lançamento de notas.

License

Notifications You must be signed in to change notification settings

PedroMissola/gestao-escolar_api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 API de Gestão Escolar

API RESTful desenvolvida com Flask e SQLite para gerenciamento de uma plataforma escolar. O sistema permite o cadastro de usuários (professores e alunos), gerenciamento de matérias, atividades e lançamento de notas. A autenticação é feita por meio de tokens JWT, garantindo segurança nas operações protegidas.

SQLite é utilizado como banco de dados por sua leveza, praticidade e integração facilitada com o ambiente Flask.


🔢 Principais Rotas da API

Autenticação

  • POST /api/auth/registrar: Registrar usuário
  • POST /api/auth/login: Login

Matérias

  • POST /api/materias: Criar matéria (apenas professores)
  • GET /api/materias: Listar matérias
  • POST /api/materias/{id}/matricular/{aluno_id}: Matricular aluno (apenas professores)

Atividades

  • POST /api/atividades: Criar atividade (apenas professores)
  • GET /api/atividades: Listar atividades
  • PUT /api/atividades/{id}/nota: Atualizar nota da atividade (apenas professores)

⚙️ Como Executar o Projeto Localmente

  1. Clone o repositório:
git clone https://github.com/seu-usuario/nome-do-repo.git
cd nome-do-repo
  1. Crie e ative um ambiente virtual:
python -m venv venv
source venv/bin/activate    # Linux/Mac
venv\Scripts\activate       # Windows
  1. Instale as dependências:
pip install -r requirements.txt
  1. **Configure o arquivo **.env com as variáveis:
SECRET_KEY=sua_chave_secreta
JWT_SECRET_KEY=sua_chave_jwt
DATABASE_URL=sqlite:///app.db
  1. Inicialize o banco de dados:
flask db init
flask db migrate
flask db upgrade
  1. Inicie o servidor:
flask run

📊 Observações

  • Apenas professores podem cadastrar matérias e atividades.

  • Alunos podem visualizar matérias e atividades nas quais estão matriculados.

  • Para acessar rotas protegidas, envie o token JWT no cabeçalho:

    Authorization: Bearer <seu_token_jwt>

📁 Estrutura Sugerida do Projeto

/project-root
├── app.py
├── models/
├── routes/
├── config.py
├── requirements.txt
└── .env

📅 Licença

Este projeto está licenciado sob os termos da licença MIT. Sinta-se livre para utilizar, modificar e contribuir.

About

Este repositório contém uma API RESTful desenvolvida em Python com Flask, voltada para a gestão escolar. A plataforma permite que professores e alunos sejam cadastrados, organização de matérias e atividades, além do lançamento de notas.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published