EduBot Angola — Tutor escolar via WhatsApp
# 🤖 EduBot Angola — Backend Node.js
Plataforma de reforço escolar via WhatsApp para alunos da 6ª à 10ª Classe em Angola.
---
## 📦 Stack Tecnológica
| Camada | Tecnologia |
|--------|-----------|
| Servidor | Node.js + Express |
| Base de dados | MongoDB + Mongoose |
| WhatsApp | Twilio WhatsApp API |
| Inteligência Artificial | OpenAI GPT-4o |
| Autenticação | JWT (30 dias) |
| Agendador | node-schedule |
| Segurança | Helmet + Rate Limit + bcryptjs |
---
## 🚀 Instalação Rápida
### 1. Pré-requisitos
- Node.js v18+
- MongoDB local ou Atlas
- Conta Twilio com WhatsApp activado
- Chave OpenAI
### 2. Instalar dependências
```bash
npm install
```
### 3. Configurar variáveis de ambiente
```bash
cp .env.example .env
# Abre .env e preenche as tuas credenciais
```
### 4. Popular base de dados (seed)
```bash
npm run seed
```
Cria: admin, 10 lições (6ª-10ª), 5 quizzes
### 5. Iniciar servidor
```bash
# Desenvolvimento (com auto-reload)
npm run dev
# Produção
npm start
```
Servidor disponível em: `
localhost`
---
## 🔑 Credenciais Iniciais (após seed)
```
Email: admin@edubotangola.ao
Password: Admin@2025!
```
---
## 📡 Endpoints da API
### Autenticação
```
POST /api/auth/login Login do admin
GET /api/auth/me Dados do admin autenticado
```
### Alunos
```
GET /api/alunos Listar (filtros: classe, plano, estado, q)
POST /api/alunos Criar aluno
GET /api/alunos/:id Obter aluno
PUT /api/alunos/:id Actualizar aluno
DELETE /api/alunos/:id Cancelar aluno (soft delete)
POST /api/alunos/:id/mensagem Enviar WhatsApp manual
POST /api/alunos/:id/lembrete-pagamento Enviar lembrete de pagamento
```
### Conteúdos (Lições)
```
GET /api/conteudos Listar (filtros: classe, materia)
POST /api/conteudos Criar lição
PUT /api/conteudos/:id Actualizar
DELETE /api/conteudos/:id Desactivar
POST /api/conteudos/:id/enviar/:alunoId Envi …