Visão Geral
Sistema de agendamento de consultas para clinicas odontologicas, com controle de pacientes, agendamentos, consultas, fichas anamnese, equipe, conversão de pacientes e dashboard administrativo.
PROBLEMA
Clinicas pequenas e medias no Brasil ainda dependem de planilhas e sistemas legados para gerenciar agendamentos, pacientes e faturamento. A falta de integração entre esses processos gera perda de tempo, erros e dificuldade na conversão de agendamentos e controle de pacientes.
OBJETIVOS
- Centralizar gestão de pacientes, conversão de agendamentos e controle de consultas.
- Oferecer dashboard com métricas em tempo real para tomada de decisão.
- Garantir que o cliente consiga agendar ou cancelar suas consultas de forma autônoma.
- Controle de equipe e dentistas.
- Localização de clientes por geolocalização, melhorando a eficácia do marketing.
PÚBLICO-ALVO
Administradores e recepcionistas de clinicas odontológicas de pequeno e médio porte.
FUNCIONALIDADES PRINCIPAIS
- Agendamento em tempo real com notificações
- Ficha anamnese para pacientes
- Dashboard com gráfico de geolocalização para marketing
- Controle de equipe e dentistas
- Visualização de antes e depois de alguns procedimentos
- Autonomia de paciente visualizar suas consultas passadas e futuras
Galeria
Arquitetura
Arquitetura baseada em Clean Architecture com separação de microsserviço e padronização MVC. O front-end Next.js/React se comunica com a API ASP.NET via REST. O back-end segue o padrão C# com ASP.NET Core.
ESTRUTURA DE PASTAS
src/ ├── sorriso-harmony-frontend/ # Next.js/React - Frontend │ ├── app/ │ │ ├── admin/ │ │ ├── api/analytics │ │ ├── dentists │ │ ├── google/callback │ │ ├── login │ │ ├── patient │ │ ├── perfil │ │ ├── reset-password │ │ ├── testemonials │ │ ├── layout.tsx │ │ └── page.tsx │ ├── components/ │ │ ├── dashboard/ │ │ ├── perfil/ │ │ └── ui/ │ ├── lib/ │ │ ├── api.ts │ │ ├── auth.ts │ │ ├── categories-api.ts │ │ ├── conflicts.ts │ │ ├── crypto.ts │ │ ├── geo.ts │ │ ├── interested.ts │ │ ├── jwt.ts │ │ ├── procedures.ts │ │ └── utils.ts │ └── service/ │ ├── relatorioService.ts │ └── userService.ts ├── sorriso-harmony-api/ # C# + ASP.NET Core - Backend │ ├── Controllers/ │ ├── Data/ │ ├── Infrastructure/ │ ├── Data/ │ ├── Middleware/ │ ├── Migrations/ │ ├── Models/ │ ├── Properties/ │ ├── Services/ │ ├── Settings/ │ ├── Shared/ └── └── Program.cs
Segurança
ESTRATÉGIA DE AUTENTICAÇÃO
Autenticação via JWT e OAuth2 opcional com Google para login social.
ROLES / RBAC
Configuração e Ambiente
Variaveis de ambiente separadas entre front-end (NEXT_PUBLIC_*) e back-end (appsettings.json). Secrets nunca sao expostos no client-side. Em produção, secrets foram gerenciados via Azure App Service.
Deploy
ESTRATÉGIA
Front-end deployado no Vercel com automatic previews por PR. Back-end rodando em Azure App Service. Azure SQL Server para banco de dados.
CI/CD PIPELINE
1. Trigger via push na branch main ou execução manual (workflow_dispatch) 2. Pipeline CI com GitHub Actions 3. Build da aplicação ASP.NET Core (.NET 8) 4. Publicação e geração de artefatos 5. Armazenamento do build como artifact 6. CD com deploy automatizado no Azure App Service
MONITORAMENTO
Sentry para error tracking em ambos front-end e back-end. Azure Monitor para logs da infra Azure. Uptime Robot para monitoramento de disponibilidade.
Lições Aprendidas
O QUE DEU CERTO
- Clean Architecture facilitou adicionar novos módulos sem afetar existentes
- Azure Logs flexibilizou consultas de logs
- Deploy com GitHub Actions facilitou o deploy
O QUE MELHORAR
- Adicionar HttpOnly cookies para autenticação
- Implementar tempo de expiração de sessão
- Foram adicionado testes unitários na maioria das funcionalidades, mas ainda é preciso implementar o restante para garantir a qualidade do sistema
Contato
Quer um projeto parecido?
Entre em contato para discutir seu projeto. Posso te ajudar!