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:3000carrega 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:
- Problemas Comuns no Desenvolvimento - Resolva problemas durante o desenvolvimento
- Arquitetura do Sistema - Entenda a estrutura do projeto
- Autenticação e Autorização - Configure OAuth e entenda o sistema de autenticação
- Como Contribuir - Comece a contribuir com o projeto
Bom desenvolvimento!