Plataforma completa em Node.js/HTML/CSS/JS para apoiar famílias com filhos no espectro autista, oferecendo recursos educacionais, agendamento de consultas com especialistas, autenticação segura via OTP e gestão completa de perfis.
- ✅ Cadastro e Login com autenticação OTP via email
- ✅ Agendamento de Consultas com especialistas
- ✅ Gestão de Perfil (CRUD completo)
- ✅ Recursos Educacionais para apoio
- ✅ Atividades Terapêuticas personalizadas
- ✅ Dashboard com histórico de consultas
- ✅ Dashboard Profissional completo e elegante
- ✅ Gerenciamento de Pacientes com prontuários digitais
- ✅ Agenda Integrada com calendário visual
- ✅ Google Meet integrado para consultas online
- ✅ Chat em tempo real com pacientes
- ✅ Sistema de Reuniões com histórico
- ✅ Estatísticas e Métricas do consultório
- Backend: Node.js + Express
- Database Dev: SQLite (automático, zero config)
- Database Prod: PostgreSQL (Supabase, grátis)
- Autenticação: JWT + OTP via email (Nodemailer)
- Real-time: Socket.IO (chat)
- Segurança: bcryptjs, prepared statements
- Frontend: HTML5, CSS3, JavaScript ES6+, Font Awesome 6.4.0
- Deploy: Vercel (frontend + serverless backend)
- Node.js 18+ e npm 9+
- Git
- Conta Gmail para envio de emails OTP
- Clone o repositório
git clone https://github.com/Conecta-TEA/ConectaTEA.git
cd ConectaTEA- Instalar dependências
cd backend
npm install- Configurar variáveis de ambiente
Crie o arquivo backend/.env:
EMAIL_USER=seu_email@gmail.com
EMAIL_PASS=sua_senha_app_gmail
JWT_SECRET=seu_segredo_jwt_aqui
SESSION_SECRET=seu_segredo_sessao_aqui-
Ative: Verificação em 2 etapas
-
Gere App Password em: https://myaccount.google.com/apppasswords
-
Use os 16 dígitos em
EMAIL_PASS -
Iniciar servidor
npm startO banco SQLite será criado automaticamente em backend/conectatea.db
- Abrir frontend
# Instale Live Server no VS Code
# Clique com botão direito em index.html
# "Open with Live Server"
# Acesse: http://localhost:5500Email: admin@conectatea.com
Senha: Admin123!
Tipo: especialista
ConectaTEA/
├── backend/
│ ├── config/
│ │ ├── database-sqlite.js # SQLite (desenvolvimento)
│ │ ├── database-postgres.js # PostgreSQL (produção)
│ │ └── db-selector.js # Seletor automático
│ ├── routes/
│ │ ├── auth-simple.js # Autenticação + OTP
│ │ ├── especialista.js # API Dashboard Especialista
│ │ ├── usuarios.js # Gerenciamento usuários
│ │ ├── chat.js # Chat em tempo real
│ │ └── mensagens.js # Sistema de mensagens
│ ├── .env # Variáveis ambiente (criar)
│ ├── server.js # Servidor Express + Socket.IO
│ └── package.json
├── css/
│ ├── style.css # Estilos globais
│ ├── painel-especialista.css # Dashboard especialista
│ └── ...
├── js/
│ ├── config.js # Configuração ambiente
│ ├── painel-especialista.js # Lógica dashboard
│ └── ...
├── index.html # Página inicial
├── painel-especialista.html # Dashboard especialista
├── vercel.json # Config deploy Vercel
├── DEPLOY-15MIN.md # Guia rápido deploy
├── DEPLOY-VERCEL-GRATIS.md # Guia completo deploy
├── CHECKLIST-DEPLOY.md # Checklist deploy
└── README.md # Este arquivo
O projeto possui um design elegante e premium com:
- 🎨 Paleta sofisticada (Azul marinho #1e3a8a + Dourado #B8956F)
- ✨ Animações suaves e transições elegantes
- 📱 100% responsivo (mobile-first)
- ♿ Acessível (WCAG 2.1)
- 🌙 Interface limpa e profissional
- 💎 Cards com glassmorphism
- 🎯 UX otimizada para especialistas
- ✅ Autenticação OTP via email (sem senha no login)
- ✅ Senhas criptografadas com bcryptjs (10 salt rounds)
- ✅ Tokens JWT com expiração de 7 dias
- ✅ Códigos OTP de uso único (10 minutos de validade)
- ✅ Prepared statements (proteção SQL injection)
- ✅ Validação de sessão em todas as requisições
- ✅ Auditoria completa de ações no banco
- ✅ CORS configurado para domínios permitidos
O projeto usa dual-database (automático):
- Desenvolvimento: SQLite (zero config, arquivo local)
- Produção: PostgreSQL (Supabase, 500MB grátis)
O sistema detecta automaticamente qual usar baseado na variável DATABASE_URL.
- usuarios: Pacientes, especialistas e admins
- otp_codes: Códigos de verificação (6 dígitos)
- especialista_pacientes: Relação especialista-paciente
- reunioes: Agendamentos + Google Meet
- prontuarios: Prontuários digitais
- mensagens: Chat em tempo real
- sessoes: Tokens JWT ativos
Veja SQL completo em: DEPLOY-VERCEL-GRATIS.md
Envio automático de emails HTML estilizados para:
Assunto: "Bem-vindo ao ConectaTEA - Verifique seu Email"
Conteúdo: Código de 6 dígitos (válido por 10 min)
Assunto: "Seu Código de Acesso - ConectaTEA"
Conteúdo: Código de 6 dígitos (válido por 10 min)
Todos com design elegante matching da plataforma.
POST /api/auth/cadastrar- Criar nova contaPOST /api/auth/verificar-email- Verificar código de cadastroPOST /api/auth/login/solicitar-otp- Solicitar código de loginPOST /api/auth/login/verificar-otp- Fazer login com OTPPOST /api/auth/reenviar-otp- Reenviar códigoPOST /api/auth/logout- Fazer logout (protegido)
GET /api/usuarios- Listar usuários (admin)GET /api/usuarios/:id- Buscar por IDPUT /api/usuarios/:id- Atualizar perfilDELETE /api/usuarios/:id- Deletar (admin)POST /api/usuarios/alterar-senha- Alterar senha
POST /api/consultas- Agendar consultaGET /api/consultas- Listar minhas consultasGET /api/consultas/:id- Detalhes da consultaPUT /api/consultas/:id- Atualizar/reagendarPUT /api/consultas/:id/cancelar- Cancelar consultaDELETE /api/consultas/:id- Deletar (admin)
Documentação completa em backend/README.md
O projeto está configurado para deploy totalmente gratuito na Vercel + Supabase!
📖 Siga o guia: DEPLOY-15MIN.md📖 Siga o guia: DEPLOY-VERCEL-GRATIS.md📖 Siga o guia: CHECKLIST-DEPLOY.md- Frontend: Vercel (CDN global, SSL automático)
- Backend: Vercel Serverless Functions
- Database: Supabase PostgreSQL (500MB grátis)
- CI/CD: GitHub → Vercel (deploy automático)
- ✅ 100GB bandwidth/mês (Vercel)
- ✅ 500MB database (Supabase)
- ✅ 2GB bandwidth database/mês
- ✅ Deployments ilimitados
- ✅ SSL automático
- ✅ Suficiente para milhares de usuários!
Custo total: R$ 0,00/mês 🎯
Criado automaticamente no banco:
- Email: admin@conectatea.com.br
- Senha: admin123
- Tipo: admin
- Integrar páginas frontend com API backend
- CRUD de Especialistas (controller + rotas)
- CRUD de Recursos (controller + rotas)
- Upload de fotos de perfil (multer)
- Sistema de notificações por email
- Filtros e busca avançada
- Dashboard com estatísticas (gráficos)
- Chat em tempo real (Socket.io)
- Sistema de avaliações de especialistas
- Calendário de disponibilidade
- Aplicativo PWA (Progressive Web App)
- Integração com Google Calendar
- App mobile nativo (React Native / Flutter)
- IA para recomendações personalizadas
- Videochamadas integradas (WebRTC/Jitsi)
- Gamificação com badges e conquistas
- Multi-idioma (i18n)
- Marketplace de conteúdo premium
Verifique o arquivo LICENSE para detalhes.
Contribuições são bem-vindas! Por favor:
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/MinhaFeature) - Commit suas mudanças (
git commit -m 'Adiciona MinhaFeature') - Push para a branch (
git push origin feature/MinhaFeature) - Abra um Pull Request
- Email: suporte@conectatea.com.br (exemplo)
- Issues: GitHub Issues
- Documentação: Em construção
Desenvolvido com 💙 para ajudar famílias