Guia de Setup Local

Como rodar o Portal Meu Núcleo - MBL na sua maquina do zero.

Pre-requisitos

  • Node.js 20+ (node --version)
  • npm 10+ (npm --version)
  • Git 2.40+ (git --version)
  • Docker (para Supabase local, opcional)
  • Supabase CLI (supabase --version)

1. Clonar o Repositorio

git clone https://github.com/agamenor/mbles.git
cd mbles

2. Instalar Dependencias

npm install

Isso instala as dependencias de todos os workspaces (web, api, shared, docs).

3. Configurar Variaveis de Ambiente

# Frontend
cp apps/web/.env.example apps/web/.env.local

# Backend
cp apps/api/.env.example apps/api/.env

Edite os arquivos .env com suas keys. Veja a pagina Variaveis de Ambiente para a lista completa. As keys obrigatorias sao:

  • Supabase: SUPABASE_URL, SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY
  • Asaas: ASAAS_API_KEY, ASAAS_ENVIRONMENT (use sandbox para dev)
  • OpenAI: OPENAI_API_KEY (necessario para funcionalidades de IA — chat, resumos, matching)
  • Resend: RESEND_API_KEY (necessario para envio de emails — boas-vindas, rejeicao, comunicados)
  • VAPID: VAPID_PUBLIC_KEY, VAPID_PRIVATE_KEY, VAPID_EMAIL (necessario para push notifications). Gere com: npx web-push generate-vapid-keys

4. Opcao A: Usar Supabase Cloud (Recomendado)

Se voce tem acesso ao projeto Supabase, basta preencher as keys nos .env e pular para o passo 5.

4. Opcao B: Supabase Local (Docker)

# Iniciar Supabase local
supabase start

# Rodar migrations
supabase db push

# Rodar seed
supabase db query --linked -f supabase/seed.sql

5. Rodar o Projeto

# Rodar tudo (web + api) em paralelo
npm run dev

Ou rodar individualmente:

# Frontend (porta 3000)
cd apps/web && npm run dev

# Backend (porta 3001)
cd apps/api && npm run dev

# Docs (porta 3002)
cd apps/docs && npm run dev

6. Acessar

  • Frontend: http://localhost:3000
  • API: http://localhost:3001/api
  • Docs: http://localhost:3002
  • Supabase Studio (local): http://localhost:54323

Comandos Uteis

ComandoDescricao
npm run devRoda web + api em paralelo
npm run buildBuild de todos os packages
npm run formatFormata codigo com Prettier
supabase db pushAplica migrations no banco
supabase db query --linked "SQL"Executa SQL no banco remoto