Sistema automatizado de cobrança mensal para o Trilha UFPB. Envia cobranças PIX por email, processa comprovantes via Google Form, e registra pagamentos no Google Sheets.
- Cobrança (5º dia útil): Envia email com chave PIX e link do Google Form para membros inadimplentes
- Comprovante: Membro faz o PIX e envia comprovante pelo Google Form
- Processamento (diário): Job lê respostas do form, valida e marca como "Pago" na planilha
- Lembrete (diário): Após o 5º dia útil, envia lembretes para quem ainda não pagou
src/
jobs/ # Tarefas agendadas (send_charges, process_receipts, send_reminders)
services/ # Integrações (Google Sheets, SMTP email)
templates/ # Templates de email HTML
utils/ # Cálculo de dias úteis, configurações
| Componente | Tecnologia | Custo |
|---|---|---|
| Database | Google Sheets | Free |
| Formulário | Google Forms | Free |
| Cron Jobs | GitHub Actions | Free |
| Notificações | Email (SMTP / Gmail) | Free |
| Linguagem | Python 3.12+ | — |
-
Instalar dependências:
pip install -r requirements.txt
-
Configurar variáveis de ambiente (veja
.env.example):GOOGLE_CREDENTIALS_BASE64,SPREADSHEET_IDPIX_KEY,PIX_KEY_TYPE,PIX_BENEFICIARY_NAMEGOOGLE_FORM_URLSMTP_EMAIL,SMTP_PASSWORD
-
Criar Google Form com campos: Email, Nome Completo, Mês de Referência, Valor, Comprovante
-
Conectar respostas do form à mesma planilha do
SPREADSHEET_ID
Jobs rodam via GitHub Actions:
| Job | Schedule | Descrição |
|---|---|---|
send-charges |
5º dia útil, 9h BRT | Envia email de cobrança com chave PIX |
process-receipts |
Diário, 8h BRT | Processa comprovantes do Google Form |
send-reminders |
Diário, 10h BRT | Envia lembretes para inadimplentes |
GOOGLE_CREDENTIALS_BASE64
SPREADSHEET_ID
SMTP_EMAIL
SMTP_PASSWORD
PIX_KEY
GOOGLE_FORM_URL
MIT