API FastAPI + watcher de arquivos + SQLite para gestão de aulas particulares de inglês.
IIVA é um sistema de gestão pedagógica que centraliza alunos, aulas e progresso em um banco SQLite, com uma API REST para consulta e um file watcher que atualiza automaticamente o banco a partir de arquivos Markdown.
O watcher monitora uma pasta de planos de aula (.md com frontmatter YAML) e mantém o banco sincronizado — criação de arquivo vira insert, modificação vira update.
- API: FastAPI + uvicorn (porta 8000)
- Banco: SQLite (2 tabelas: alunos, aulas)
- Watcher: watchdog (monitora arquivos .md)
- Deploy: rsync + systemd
| Rota | Descrição |
|---|---|
GET / |
Status da API |
GET /alunos |
Lista todos os alunos |
GET /aulas?status=&data= |
Filtra aulas por status/data |
GET /alunos/{id}/aulas |
Aulas de um aluno específico |
# ambiente
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# config
cp .env.example .env
# edite .env com seus caminhos
# popular banco
python populate_alunos.py
python populate_aulas.py
# iniciar API
uvicorn main:app
# iniciar watcher (opcional)
python watcher.py