O HoraCerta é um SaaS de lembretes automáticos de agendamentos via WhatsApp e e-mail, focado em pequenos negócios (barbeiros, clínicas, estética, etc).
Este repositório contém apenas o backend, responsável por toda a lógica do sistema.
O frontend apenas consome a API.
- Autenticação (JWT)
- Regras de negócio
- Banco de dados
- Scheduler de lembretes
- Integração com WhatsApp
- Integração com e-mail
- Python 3.11+
- FastAPI
- SQLModel + PostgreSQL
- JWT
- WhatsApp Cloud API
- E-mail (SES / SendGrid)
horacerta/
├── app/
│ ├── main.py # Entry point da API
│ ├── core/ # Configurações globais (env, segurança)
│ ├── db/ # Conexão com banco de dados
│ ├── models/ # Models (User, Client, Appointment)
│ ├── routes/ # Endpoints da API
│ └── services/ # Regras de negócio e integrações externas
├── venv/ # Ambiente virtual (não versionado)
├── .env # Variáveis de ambiente (não versionado)
└── README.md
- Usuário cria um agendamento no painel (frontend)
- Frontend envia os dados para a API
- Backend salva no banco
- Scheduler identifica horários próximos
- Backend envia lembrete por WhatsApp e e-mail
- Status do envio pode ser exibido no painel
O frontend:
- Autentica via JWT
- Consome endpoints REST
- Não conversa diretamente com WhatsApp ou e-mail
O backend:
- Centraliza toda a lógica
- Garante segurança e consistência dos dados
POST /auth/loginPOST /auth/registerGET /clientsPOST /clientsGET /appointmentsPOST /appointments
Na raiz do projeto:
uvicorn app.main:app --reload
Swagger: http://127.0.0.1:8000/docsAPI-first
Frontend e backend evoluem de forma independente
Variáveis sensíveis ficam no .env (não versionado)