Skip to content

Latest commit

 

History

32 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HoraCerta — Backend (FastAPI)

Visão geral

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.


Responsabilidade do Backend

  • Autenticação (JWT)
  • Regras de negócio
  • Banco de dados
  • Scheduler de lembretes
  • Integração com WhatsApp
  • Integração com e-mail

Stack

  • Python 3.11+
  • FastAPI
  • SQLModel + PostgreSQL
  • JWT
  • WhatsApp Cloud API
  • E-mail (SES / SendGrid)

Estrutura do projeto

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

Fluxo do sistema

  1. Usuário cria um agendamento no painel (frontend)
  2. Frontend envia os dados para a API
  3. Backend salva no banco
  4. Scheduler identifica horários próximos
  5. Backend envia lembrete por WhatsApp e e-mail
  6. Status do envio pode ser exibido no painel

Comunicação Frontend ↔ Backend

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

Endpoints principais (planejados)

  • POST /auth/login
  • POST /auth/register
  • GET /clients
  • POST /clients
  • GET /appointments
  • POST /appointments

Rodando o projeto (desenvolvimento)

Na raiz do projeto:

uvicorn app.main:app --reload
Swagger: http://127.0.0.1:8000/docs

API-first

Frontend e backend evoluem de forma independente

Variáveis sensíveis ficam no .env (não versionado)


About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages