Compare commits
No commits in common. "e5304894b4e8eba3bd19009c283d506553313994" and "814d6402785453a6a94ba4487e9ea39aafcb715c" have entirely different histories.
e5304894b4
...
814d640278
379
README.md
379
README.md
@ -1,379 +1,2 @@
|
|||||||
<div align="center">
|
# riseup-squad20
|
||||||
|
|
||||||
# 🏥 MEDIConnect
|
|
||||||
|
|
||||||
### Plataforma de Gestão de Saúde Inteligente
|
|
||||||
|
|
||||||
*Combatendo o absenteísmo em clínicas e hospitais através de tecnologia e inovação*
|
|
||||||
|
|
||||||
[](https://nextjs.org/)
|
|
||||||
[](https://www.typescriptlang.org/)
|
|
||||||
[](https://react.dev/)
|
|
||||||
[](https://tailwindcss.com/)
|
|
||||||
[](https://supabase.com/)
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Índice
|
|
||||||
|
|
||||||
1. [Visão Geral](#-visão-geral)
|
|
||||||
2. [Problema e Solução](#-problema-e-solução)
|
|
||||||
3. [Funcionalidades](#-funcionalidades)
|
|
||||||
4. [Tecnologias](#️-tecnologias)
|
|
||||||
5. [Instalação](#-instalação)
|
|
||||||
6. [Como Usar](#-como-usar)
|
|
||||||
7. [Fluxos de Usuário](#-fluxos-de-usuário)
|
|
||||||
8. [Componentes Principais](#-componentes-principais)
|
|
||||||
9. [Contribuindo](#-contribuindo)
|
|
||||||
10. [Licença](#-licença)
|
|
||||||
11. [Contato](#-contato)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Visão Geral
|
|
||||||
|
|
||||||
**MEDIConnect** é uma plataforma web moderna e intuitiva desenvolvida para revolucionar a gestão de saúde em clínicas e hospitais. Com foco na redução do absenteísmo (faltas em consultas), a plataforma oferece uma experiência completa para pacientes, profissionais de saúde e administradores.
|
|
||||||
|
|
||||||
### Diferenciais
|
|
||||||
|
|
||||||
- **Zoe IA Assistant**: Assistente virtual inteligente para suporte aos usuários
|
|
||||||
- **Interface Responsiva**: Design moderno e adaptável a qualquer dispositivo
|
|
||||||
- **Autenticação Segura**: Sistema robusto com perfis diferenciados
|
|
||||||
- **Performance**: Construído com Next.js 15 para máxima velocidade
|
|
||||||
- **UX/UI Premium**: Interface limpa e profissional voltada para área da saúde
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Problema e Solução
|
|
||||||
|
|
||||||
### O Problema
|
|
||||||
O **absenteísmo** (não comparecimento a consultas agendadas) é um problema crítico em clínicas e hospitais, causando:
|
|
||||||
- Desperdício de tempo dos profissionais
|
|
||||||
- Perda de receita para estabelecimentos
|
|
||||||
- Redução da eficiência operacional
|
|
||||||
- Impacto negativo no atendimento de outros pacientes
|
|
||||||
|
|
||||||
### Nossa Solução
|
|
||||||
MEDIConnect oferece um sistema inteligente de gestão que:
|
|
||||||
- Facilita o agendamento e reagendamento de consultas
|
|
||||||
- Permite visualização clara da agenda para profissionais
|
|
||||||
- Oferece assistência via IA para dúvidas e suporte
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Funcionalidades
|
|
||||||
|
|
||||||
### Para Pacientes
|
|
||||||
- **Dashboard Personalizado**: Visão geral de consultas e exames
|
|
||||||
- **Agendamento**: Sistema fácil de marcar consultas
|
|
||||||
- **Resultados de Exames**: Acesso seguro a laudos e resultados
|
|
||||||
- **Busca de Profissionais**: Encontre médicos por especialidade
|
|
||||||
- **Zoe IA Assistant**: Tire dúvidas 24/7 com nossa assistente virtual
|
|
||||||
|
|
||||||
### Para Profissionais
|
|
||||||
- **Dashboard Profissional**: Visão completa de atendimentos
|
|
||||||
- **Editor de Laudos**: Crie e edite laudos médicos de forma rápida
|
|
||||||
- **Gestão de Pacientes**: Acesse informações dos pacientes
|
|
||||||
- **Agenda**: Visualização clara de consultas
|
|
||||||
|
|
||||||
### Para Administradores
|
|
||||||
- **Dashboard Administrativo**: Métricas e estatísticas em tempo real
|
|
||||||
- **Relatórios Detalhados**: Análise de comparecimento e absenteísmo
|
|
||||||
- **Gestão Completa**: Gerencie pacientes, profissionais e agendamentos
|
|
||||||
- **Painel de Controle**: Visão 360° da operação da clínica
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Tecnologias
|
|
||||||
|
|
||||||
### Frontend (Atual)
|
|
||||||
- **[Next.js 15](https://nextjs.org/)** - Framework React com Server Components
|
|
||||||
- **[React 19](https://react.dev/)** - Biblioteca JavaScript para interfaces
|
|
||||||
- **[TypeScript](https://www.typescriptlang.org/)** - Tipagem estática para JavaScript
|
|
||||||
- **[Tailwind CSS](https://tailwindcss.com/)** - Framework CSS utilitário
|
|
||||||
- **[Shadcn/ui](https://ui.shadcn.com/)** - Componentes UI reutilizáveis
|
|
||||||
- **[React Hook Form](https://react-hook-form.com/)** - Gerenciamento de formulários
|
|
||||||
- **[Zod](https://zod.dev/)** - Validação de schemas
|
|
||||||
- **[date-fns](https://date-fns.org/)** - Manipulação de datas
|
|
||||||
|
|
||||||
### Backend (Integrado)
|
|
||||||
- **[Supabase](https://supabase.com/)** - Backend as a Service (PostgreSQL)
|
|
||||||
- **Authentication** - Sistema de autenticação completo
|
|
||||||
- **Storage** - Armazenamento de arquivos e documentos
|
|
||||||
- **REST API** - Endpoints integrados para todas as funcionalidades
|
|
||||||
|
|
||||||
### Ferramentas de Desenvolvimento
|
|
||||||
- **[ESLint](https://eslint.org/)** - Linter para código JavaScript/TypeScript
|
|
||||||
- **[PostCSS](https://postcss.org/)** - Transformação de CSS
|
|
||||||
- **[Autoprefixer](https://github.com/postcss/autoprefixer)** - Prefixos CSS automáticos
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Instalação
|
|
||||||
|
|
||||||
### Pré-requisitos
|
|
||||||
|
|
||||||
Certifique-se de ter instalado:
|
|
||||||
|
|
||||||
- **Node.js** 18.17 ou superior
|
|
||||||
- **npm**
|
|
||||||
- **Git**
|
|
||||||
|
|
||||||
### Passo a Passo
|
|
||||||
|
|
||||||
1. **Clone o repositório**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone https://git.popcode.com.br/RiseUP/riseup-squad20.git
|
|
||||||
cd susconecta
|
|
||||||
```
|
|
||||||
|
|
||||||
2. **Instale as dependências**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm install
|
|
||||||
```
|
|
||||||
|
|
||||||
3. **Configuração de ambiente (desenvolvimento)**
|
|
||||||
|
|
||||||
> Observação: o projeto possui valores _fallback_ em `susconecta/lib/env-config.ts`, mas o recomendado é criar um arquivo `.env.local` não versionado com suas credenciais locais.
|
|
||||||
|
|
||||||
```env
|
|
||||||
# Supabase
|
|
||||||
NEXT_PUBLIC_SUPABASE_URL=https://seu-projeto.supabase.co
|
|
||||||
NEXT_PUBLIC_SUPABASE_ANON_KEY=pk_... (anon key)
|
|
||||||
|
|
||||||
# Aplicação
|
|
||||||
NEXT_PUBLIC_APP_URL=http://localhost:3000
|
|
||||||
NEXT_PUBLIC_API_URL=http://localhost:3000/api
|
|
||||||
```
|
|
||||||
|
|
||||||
**Boas práticas de segurança**
|
|
||||||
- Nunca exponha a `service_role` key no frontend.
|
|
||||||
- Proteja operações sensíveis com Row-Level Security (RLS) no Supabase ou mova-as para rotas/Edge Functions server-side.
|
|
||||||
- Não commite `.env.local` no repositório (adicione ao `.gitignore`).
|
|
||||||
|
|
||||||
4. **Inicie o servidor de desenvolvimento**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm run dev
|
|
||||||
```
|
|
||||||
|
|
||||||
5. **Acesse a aplicação**
|
|
||||||
|
|
||||||
Abra [http://localhost:3000](http://localhost:3000) no seu navegador.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Como Usar
|
|
||||||
|
|
||||||
### Navegação Principal
|
|
||||||
|
|
||||||
#### Página Inicial
|
|
||||||
Acesse `/home` para conhecer a plataforma e suas funcionalidades.
|
|
||||||
|
|
||||||
#### Autenticação
|
|
||||||
O sistema possui três níveis de acesso:
|
|
||||||
|
|
||||||
- **Pacientes**: `/login-paciente`
|
|
||||||
- **Profissionais**: `/login-profissional`
|
|
||||||
- **Administradores**: `/login-admin`
|
|
||||||
|
|
||||||
#### Funcionalidades por Perfil
|
|
||||||
|
|
||||||
**Como Paciente:**
|
|
||||||
1. Faça login em `/login-paciente`
|
|
||||||
2. Acesse seu dashboard em `/paciente`
|
|
||||||
3. Agende consultas em `/consultas`
|
|
||||||
4. Visualize resultados em `/paciente/resultados`
|
|
||||||
5. Gerencie seu perfil em `/perfil`
|
|
||||||
|
|
||||||
**Como Profissional:**
|
|
||||||
1. Faça login em `/login-profissional`
|
|
||||||
2. Acesse seu dashboard em `/profissional`
|
|
||||||
3. Gerencie sua agenda em `/agenda`
|
|
||||||
4. Crie laudos em `/laudos-editor`
|
|
||||||
5. Visualize pacientes em `/pacientes`
|
|
||||||
|
|
||||||
**Como Administrador:**
|
|
||||||
1. Faça login em `/login-admin`
|
|
||||||
2. Acesse o painel em `/dashboard`
|
|
||||||
3. Visualize relatórios em `/dashboard/relatorios`
|
|
||||||
4. Gerencie o sistema completo
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Fluxos de Usuário
|
|
||||||
|
|
||||||
### Fluxo de Agendamento (Paciente)
|
|
||||||
|
|
||||||
```mermaid
|
|
||||||
graph LR
|
|
||||||
A[Login Paciente] --> B[Dashboard]
|
|
||||||
B --> C[Buscar Médico]
|
|
||||||
C --> D[Selecionar Especialidade]
|
|
||||||
D --> E[Escolher Horário]
|
|
||||||
E --> F[Confirmar Agendamento]
|
|
||||||
F --> G[Receber Confirmação]
|
|
||||||
```
|
|
||||||
|
|
||||||
### Fluxo de Atendimento (Profissional)
|
|
||||||
|
|
||||||
```mermaid
|
|
||||||
graph LR
|
|
||||||
A[Login Profissional] --> B[Ver Agenda]
|
|
||||||
B --> C[Realizar Consulta]
|
|
||||||
C --> D[Criar Laudo]
|
|
||||||
D --> E[Enviar para Paciente]
|
|
||||||
E --> F[Atualizar Status]
|
|
||||||
```
|
|
||||||
|
|
||||||
### Fluxo Administrativo
|
|
||||||
|
|
||||||
```mermaid
|
|
||||||
graph LR
|
|
||||||
A[Login Admin] --> B[Dashboard]
|
|
||||||
B --> C[Visualizar Métricas]
|
|
||||||
C --> D[Gerar Relatórios]
|
|
||||||
D --> E[Analisar Absenteísmo]
|
|
||||||
E --> F[Tomar Decisões]
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Componentes Principais
|
|
||||||
|
|
||||||
### Zoe IA Assistant
|
|
||||||
|
|
||||||
Assistente virtual inteligente que oferece:
|
|
||||||
- Suporte 24/7 aos usuários
|
|
||||||
- Respostas a dúvidas frequentes
|
|
||||||
- Upload de arquivos para análise
|
|
||||||
- Interação por voz
|
|
||||||
|
|
||||||
**Arquivos:**
|
|
||||||
- `components/ZoeIA/ai-assistant-interface.tsx`
|
|
||||||
- `components/ZoeIA/voice-powered-orb.tsx`
|
|
||||||
- `components/ZoeIA/demo.tsx`
|
|
||||||
|
|
||||||
### Sistema de Agendamento
|
|
||||||
|
|
||||||
Gerenciamento completo de consultas e exames:
|
|
||||||
- Calendário interativo
|
|
||||||
- Seleção de horários disponíveis
|
|
||||||
- Confirmação automática
|
|
||||||
- Lembretes e notificações
|
|
||||||
|
|
||||||
**Arquivos:**
|
|
||||||
- `components/features/agendamento/`
|
|
||||||
- `components/features/Calendario/`
|
|
||||||
- `app/(main-routes)/consultas/`
|
|
||||||
|
|
||||||
### Editor de Laudos
|
|
||||||
|
|
||||||
Ferramenta profissional para criação de laudos médicos:
|
|
||||||
- Interface intuitiva
|
|
||||||
- Frases pré-definidas
|
|
||||||
- Exportação em PDF
|
|
||||||
|
|
||||||
**Arquivos:**
|
|
||||||
- `app/laudos-editor/`
|
|
||||||
- `lib/laudo-exemplos.ts`
|
|
||||||
- `lib/laudo-notification.ts`
|
|
||||||
|
|
||||||
### Dashboard Analytics
|
|
||||||
|
|
||||||
Painéis administrativos com:
|
|
||||||
- Métricas em tempo real
|
|
||||||
- Gráficos interativos
|
|
||||||
- Relatórios de absenteísmo
|
|
||||||
- Análise de desempenho
|
|
||||||
|
|
||||||
**Arquivos:**
|
|
||||||
- `components/features/dashboard/`
|
|
||||||
- `app/(main-routes)/dashboard/`
|
|
||||||
- `lib/reportService.ts`
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Contribuindo
|
|
||||||
|
|
||||||
Contribuições são bem-vindas! Siga estes passos:
|
|
||||||
|
|
||||||
### 1. Fork o projeto
|
|
||||||
|
|
||||||
Clique no botão "Fork" no topo da página.
|
|
||||||
|
|
||||||
### 2. Clone seu fork
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone https://git.popcode.com.br/RiseUP/riseup-squad20.git
|
|
||||||
cd susconecta
|
|
||||||
```
|
|
||||||
|
|
||||||
### 3. Crie uma branch
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git checkout -b feature/nova-funcionalidade
|
|
||||||
```
|
|
||||||
|
|
||||||
### 4. Faça suas alterações
|
|
||||||
|
|
||||||
Desenvolva sua funcionalidade seguindo os padrões do projeto.
|
|
||||||
|
|
||||||
### 5. Commit suas mudanças
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git add .
|
|
||||||
git commit -m "feat: adiciona nova funcionalidade X"
|
|
||||||
```
|
|
||||||
|
|
||||||
**Padrão de commits:**
|
|
||||||
- `feat:` Nova funcionalidade
|
|
||||||
- `fix:` Correção de bug
|
|
||||||
- `docs:` Documentação
|
|
||||||
- `style:` Formatação
|
|
||||||
- `refactor:` Refatoração
|
|
||||||
- `test:` Testes
|
|
||||||
- `chore:` Manutenção
|
|
||||||
|
|
||||||
### 6. Push para seu fork
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git push origin feature/nova-funcionalidade
|
|
||||||
```
|
|
||||||
|
|
||||||
### 7. Abra um Pull Request
|
|
||||||
|
|
||||||
Descreva suas mudanças detalhadamente.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Licença
|
|
||||||
|
|
||||||
Este projeto está sob a licença **MIT**. Veja o arquivo [LICENSE](LICENSE) para mais detalhes.
|
|
||||||
|
|
||||||
## Contato
|
|
||||||
|
|
||||||
**MEDIConnect Team**
|
|
||||||
|
|
||||||
- Website: [mediconnect.com](https://mediconecta-app-liart.vercel.app/)
|
|
||||||
- Email dos Desenvolvedores:
|
|
||||||
- [Jonas Francisco](mailto:jonastom478@gmail.com)
|
|
||||||
- [João Gustavo](mailto:jgcmendonca@gmail.com)
|
|
||||||
- [Maria Gabrielly](mailto:maria.gabrielly221106@gmail.com)
|
|
||||||
- [Pedro Gomes](mailto:pedrogomes5913@gmail.com)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<div align="center">
|
|
||||||
|
|
||||||
**Desenvolvido pelo squad 20**
|
|
||||||
|
|
||||||
*Transformando a gestão de saúde através da tecnologia*
|
|
||||||
|
|
||||||
[](https://nextjs.org/)
|
|
||||||
|
|
||||||
</div>
|
|
||||||
Loading…
x
Reference in New Issue
Block a user