Pular para o conteúdo principal
Versão: Versão Mercados

Configuração do Ambiente de Desenvolvimento

Este guia mostrará como configurar seu ambiente local para desenvolver o Sistema Divino Alimento.

Requisitos do Sistema

Software Necessário

  • Node.js (versão 18.x ou superior)
  • npm (versão 9.x ou superior)
  • PostgreSQL (versão 14.x ou superior)
  • Docker e Docker Compose (recomendado)
  • Git (versão 2.x ou superior)
  • Editor de código (VS Code, Sublime, etc.)

Verificar Instalações

node --version    # v18.x.x ou superior
npm --version # 9.x.x ou superior
docker --version # Docker version 20.x ou superior
git --version # git version 2.x ou superior

Opção 1: Configuração com Docker (Recomendado)

Passo 1: Clonar o Repositório

# Clone seu fork
git clone https://github.com/SEU-USUARIO/divino-alimento.git

# Entre no diretório
cd divino-alimento

# Adicione o repositório original como upstream
git remote add upstream https://github.com/tekopora/divino-alimento.git

Passo 2: Configurar Variáveis de Ambiente

# Copie o arquivo de exemplo
cp .env.example .env

# Edite o arquivo .env com suas configurações
nano .env

Variáveis importantes:

# Banco de Dados
DB_HOST=postgres
DB_PORT=5432
DB_NAME=divino_alimento_dev
DB_USER=postgres
DB_PASSWORD=postgres

# Google OAuth (obtenha em https://console.cloud.google.com)
GOOGLE_CLIENT_ID=seu_client_id_aqui
GOOGLE_CLIENT_SECRET=seu_client_secret_aqui
GOOGLE_CALLBACK_URL=http://localhost:3000/auth/google/callback

# Sessão
SESSION_SECRET=sua_chave_secreta_aleatoria_aqui

# Ambiente
NODE_ENV=development
PORT=3000

Passo 3: Iniciar com Docker Compose

# Construir e iniciar containers
docker-compose up -d

# Verificar se os containers estão rodando
docker-compose ps

# Ver logs da aplicação
docker-compose logs -f app

Passo 4: Executar Migrações e Seeds

# Entrar no container da aplicação
docker-compose exec app bash

# Executar migrações
npx sequelize-cli db:migrate

# (Opcional) Executar seeds para dados de teste
npx sequelize-cli db:seed:all

# Sair do container
exit

Passo 5: Acessar a Aplicação

Abra seu navegador em: http://localhost:3000

Opção 2: Configuração Manual (Sem Docker)

Passo 1: Clonar o Repositório

git clone https://github.com/SEU-USUARIO/divino-alimento.git
cd divino-alimento
git remote add upstream https://github.com/tekopora/divino-alimento.git

Passo 2: Instalar Dependências

npm install

Passo 3: Configurar PostgreSQL Local

# Criar banco de dados
createdb divino_alimento_dev

# Ou via psql
psql -U postgres
CREATE DATABASE divino_alimento_dev;
\q

Passo 4: Configurar Variáveis de Ambiente

cp .env.example .env
nano .env

Ajuste para PostgreSQL local:

DB_HOST=localhost
DB_PORT=5432
DB_NAME=divino_alimento_dev
DB_USER=seu_usuario_postgres
DB_PASSWORD=sua_senha_postgres

# ... restante das configurações

Passo 5: Executar Migrações

npx sequelize-cli db:migrate
npx sequelize-cli db:seed:all

Passo 6: Iniciar Aplicação

# Modo desenvolvimento (com auto-reload)
npm run dev

# Ou modo normal
npm start

Acesse: http://localhost:3000

Comandos Úteis

Docker

# Iniciar containers
docker-compose up -d

# Parar containers
docker-compose down

# Ver logs
docker-compose logs -f

# Reconstruir containers
docker-compose up -d --build

# Entrar no container
docker-compose exec app bash

# Limpar tudo (CUIDADO: apaga dados)
docker-compose down -v

NPM

# Instalar dependências
npm install

# Rodar em modo desenvolvimento
npm run dev

# Rodar testes
npm test

# Verificar estilo de código
npm run lint

# Formatar código
npm run format

Sequelize (Migrações)

# Executar migrações pendentes
npx sequelize-cli db:migrate

# Reverter última migração
npx sequelize-cli db:migrate:undo

# Reverter todas as migrações
npx sequelize-cli db:migrate:undo:all

# Executar seeds
npx sequelize-cli db:seed:all

# Criar nova migração
npx sequelize-cli migration:generate --name nome-da-migracao

Verificar Instalação

Após configurar, verifique se tudo está funcionando:

1. Acesso à Aplicação

  • http://localhost:3000 carrega a página inicial
  • Aplicação responde corretamente

2. Banco de Dados

  • Tabelas foram criadas
  • Seeds executados (se aplicável)
  • Conexão estabelecida

3. Ambiente de Desenvolvimento

  • Hot reload funcionando (alterações refletem automaticamente)
  • Logs aparecem no console
  • Sem erros críticos no startup

Próximos Passos

Agora que seu ambiente está configurado:

  1. Problemas Comuns no Desenvolvimento - Resolva problemas durante o desenvolvimento
  2. Arquitetura do Sistema - Entenda a estrutura do projeto
  3. Autenticação e Autorização - Configure OAuth e entenda o sistema de autenticação
  4. Como Contribuir - Comece a contribuir com o projeto

Bom desenvolvimento!