Servidor FastAPI do tutor de italiano (v0.3.2, multi-aluno).
- Deploy: https://italiano-tutor.onrender.com (Render; UptimeRobot pinga
/healthpara evitar hibernação) - Docs interativas:
/docs(Swagger UI)
main.py— API FastAPI: login por código IT-XXXX, correção escrita, diálogo livre, diálogo com avatar (HeyGen), sessões e extração SRStutor_italiano.py— lógica do tutor (run_turn,TaskType,StudentState), usa a API da Anthropicdb.py— camada de persistência (PostgreSQL).⚠️ Reconstruído em 2026-06-11: o original ficou só no deploy do Render (serviço já removido). Reescrito a partir do contrato emmain.py; schema criado automaticamente na primeira conexão. Testado de ponta a ponta contra Postgres local.avatar.html— frontend do avatar HeyGen/LiveAvatar (servido emGET /avatar)teste.html— página de teste (servida emGET /teste): login por código, diálogo com cenários, correção escrita e visualização do progresso. Reconstruída em 2026-06-11 (a original se perdeu com o deploy antigo); compartilha o login (marco_*no localStorage) com o avatar.html.
pip install -r requirements.txt
export DATABASE_URL=postgresql://... # Postgres
export ANTHROPIC_API_KEY=sk-ant-... # Claude (tutor + extração SRS)
export HEYGEN_API_KEY=... # avatar (opcional)
export CODIGOS_VALIDOS_JSON='{"IT-XXXX":{"user_id":"aluno_01","label":"aluno_01"}}' # códigos de login (NUNCA commitar)
uvicorn main:app --reloadAs tabelas são criadas automaticamente na primeira conexão (python db.py também funciona).
O serviço em italiano-tutor.onrender.com foi removido/suspenso (verificado em 2026-06-11: Render responde x-render-routing: no-server). Para subir de novo: novo Web Service no Render apontando para este repositório, build pip install -r requirements.txt, start uvicorn main:app --host 0.0.0.0 --port $PORT, mais um Postgres do Render (a env DATABASE_URL).