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.
POST /api/auth/registrar
: Registrar usuárioPOST /api/auth/login
: Login
POST /api/materias
: Criar matéria (apenas professores)GET /api/materias
: Listar matériasPOST /api/materias/{id}/matricular/{aluno_id}
: Matricular aluno (apenas professores)
POST /api/atividades
: Criar atividade (apenas professores)GET /api/atividades
: Listar atividadesPUT /api/atividades/{id}/nota
: Atualizar nota da atividade (apenas professores)
- Clone o repositório:
git clone https://github.com/seu-usuario/nome-do-repo.git
cd nome-do-repo
- Crie e ative um ambiente virtual:
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
- Instale as dependências:
pip install -r requirements.txt
- **Configure o arquivo **
.env
com as variáveis:
SECRET_KEY=sua_chave_secreta
JWT_SECRET_KEY=sua_chave_jwt
DATABASE_URL=sqlite:///app.db
- Inicialize o banco de dados:
flask db init
flask db migrate
flask db upgrade
- Inicie o servidor:
flask run
-
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>
/project-root
├── app.py
├── models/
├── routes/
├── config.py
├── requirements.txt
└── .env
Este projeto está licenciado sob os termos da licença MIT. Sinta-se livre para utilizar, modificar e contribuir.