Acompanhamento PrĂ©-natal de ExcelĂŞncia para ClĂnicas Privadas & Soluções White-label.
A Lunna API Ă© o coração tecnolĂłgico de um ecossistema mobile-first projetado para transformar a jornada do prĂ©-natal. Focada em clĂnicas privadas, a plataforma oferece um acompanhamento clĂnico detalhado, seguro e humanizado para gestantes, mĂ©dicos e equipes administrativas.
O projeto foi concebido para ser uma solução SaaS White-label, permitindo que clĂnicas personalizem a experiĂŞncia de suas pacientes enquanto mantĂŞm um padrĂŁo rigoroso de gestĂŁo de dados clĂnicos.
- 🤰 Paciente (Gestante): Monitoramento em tempo real da gravidez, registro de sinais vitais, visualização de exames e chat direto com a clĂnica.
- 🩺 Médico(a): Gestão completa do prontuário eletrônico, acompanhamento de curvas de saúde (glicose, pressão) e controle de agenda.
- đź“… Secretária: Operação logĂstica, agendamentos, cadastros e comunicação institucional.
- 🔑 Administrador: Controle global de clĂnicas, acessos e auditoria do sistema.
- Framework: FastAPI (Python 3.11+)
- Banco de Dados: PostgreSQL (via SQLAlchemy 2.0 & AsyncPG)
- Cache & Performance: Redis (com expiração padrĂŁo de 5 minutos para otimização em clĂnicas)
- Rate Limiting: SlowAPI para segurança contra abusos
- Migrações: Alembic
- Containerização: Docker & Docker Compose
- Validação de Dados: Pydantic v2 com schemas autoexplicativos
- Sinais Vitais: Registro e análise de PressĂŁo Arterial, Glicemia e Controle de Contrações com detecção de alertas clĂnicos.
- Evolução Gestacional: Acompanhamento de peso, altura uterina e idade gestacional em semanas de forma dinâmica.
- Exames: Centralização de laudos técnicos de Ultrassons (USG), incluindo acompanhamento detalhado de parâmetros fetais.
- Agendamentos: Fluxo robusto de marcação, confirmação manual pela paciente e fluxo estruturado de solicitações e aprovação de remarcações.
- Prontuário Digital: HistĂłrico clĂnico completo com classificação de risco.
A documentação interativa da API foi totalmente revisada e está disponĂvel localmente no endpoint /docs. Ela foi projetada para atuar como o guia Ăşnico de integração para desenvolvedores web e mobile.
- Metadados Globais: Introdução completa cobrindo as regras de segurança, matriz de permissões de perfis e tratamento de erros.
- Organização Modular por Tags:
🔑 auth: Login e controle de sessão stateless.👤 users: Perfis de usuários, preferências e customização de marca (white-label).📅 appointments: Fluxo de vida completo de agendamentos.🩸 vitals: Lançamento e extração de séries temporais de sinais vitais para gráficos.🔬 exams: Registro e consulta de laudos de exames (ultrassonografia).
- Autenticação: Toda rota protegida exige o cabeçalho:
Authorization: Bearer <seu_token_jwt> - Datas & Horários: Todo tráfego de data e hora utiliza o padrão ISO 8601 em UTC (ex:
YYYY-MM-DDTHH:MM:SSZ).
- Docker & Docker Compose instalados.
-
Clonar o repositĂłrio:
git clone <repo-url> cd lunna-api
-
Configurar variáveis de ambiente:
cp .env.example .env # Edite o arquivo .env preenchendo as credenciais de banco e chaves de segurança -
Subir os containers:
docker-compose up -d --build
A API estará disponĂvel em http://localhost:8000.
A documentação interativa (Swagger) pode ser acessada em http://localhost:8000/docs.
Se precisar testar a integridade do cĂłdigo e dos schemas localmente no seu ambiente Python:
python -m py_compile main.py app/api/v1/*.py app/schemas/*.py├── app/
│ ├── api/ # Endpoints e Rotas versionadas (v1)
│ ├── core/ # Configurações globais, segurança e conexões
│ ├── models/ # Modelos SQLAlchemy para Supabase
│ └── schemas/ # Modelos Pydantic (DTOs com descrições e exemplos)
├── alembic/ # Migrações e versionamento do banco de dados
├── main.py # Ponto de entrada e metadados globais da API
├── vercel.json # Configuração para deploy serverless no Vercel
└── docker-compose.yml # Orquestração dos serviços locais (API e Redis)