API REST do Conecta Bem, plataforma que conecta pacientes a profissionais de medicinas alternativas.
Stack: Node.js 20 · Express 4 · MongoDB 7 · Mongoose 8 · ES Modules (.mjs)
- Node.js 20+
- npm
- MongoDB 7 (local via Docker ou remoto via Atlas)
- Clone o repositório:
git clone https://github.com/developmentHC/conectaBemBack.git
cd conectaBemBack- Instale as dependências:
npm install- Copie o arquivo de variáveis de ambiente:
cp .env.example .env- Preencha o
.envcom os valores do seu ambiente (veja a seção Variáveis de Ambiente).
| Variável | Descrição | Obrigatória |
|---|---|---|
MONGODB_URI |
URI de conexão ao MongoDB | Sim |
ACCESS_TOKEN_SECRET |
Secret para assinar JWT de acesso | Sim |
REFRESH_TOKEN_SECRET |
Secret para assinar JWT de refresh | Sim |
GMAIL_USER |
E-mail Gmail para envio via SMTP | Sim |
GMAIL_PASS |
Senha de app do Gmail | Sim |
FRONT_WEBHOOK_URL |
URL do webhook do frontend | Sim |
WEBHOOK_SECRET |
Secret do webhook | Sim |
CLOUDINARY_CLOUD_NAME |
Nome do cloud no Cloudinary | Sim |
CLOUDINARY_API_KEY |
API key do Cloudinary | Sim |
CLOUDINARY_API_SECRET |
API secret do Cloudinary | Sim |
TEST_OTP_ENABLED |
Ativa bypass de OTP para QA (true/vazio) |
Apenas em dev/staging |
npm run devInicia o servidor com nodemon na porta 3000 (com hot reload). Swagger UI disponível em http://localhost:3000/docs.
npm startnpm testPara subir um MongoDB local via Docker Compose:
docker-compose -f docker-compose.dev.yaml up -dDepois configure MONGODB_URI=mongodb://localhost:27017/conectabem no .env.
Esta seção documenta a infraestrutura de bypass de autenticação para automação de testes E2E.
Em ambientes de desenvolvimento e staging, e-mails do domínio @test.conectabem.com aceitam o OTP fixo 000000 sem envio de e-mail real. O fluxo de autenticação é idêntico ao de produção — apenas a verificação do OTP é diferente.
O bypass exige duas condições simultâneas:
NODE_ENVdiferente deproduction(automaticamente satisfeito emnpm run dev)TEST_OTP_ENABLED=trueno.env
# No .env do ambiente de desenvolvimento/staging
TEST_OTP_ENABLED=trueAtenção: O bypass é completamente desabilitado em produção (NODE_ENV=production), mesmo que TEST_OTP_ENABLED esteja definido.
| Tipo de usuário | Perfil | |
|---|---|---|
patient@test.conectabem.com |
Paciente | Completo (status completed) |
professional@test.conectabem.com |
Profissional | Completo (status completed) |
000000
Use este OTP em POST /auth/checkOTP para qualquer e-mail @test.conectabem.com com o bypass ativo.
Execute o seed para criar os usuários de teste no MongoDB:
npm run seed:test-usersO script é idempotente — pode ser re-executado a qualquer momento sem criar duplicatas.
Pré-requisito: MONGODB_URI configurado no .env apontando para o banco de desenvolvimento/staging.
Swagger UI disponível em http://localhost:3000/docs após iniciar o servidor.