Configuração de Ambiente

Como configurar o ambiente local e utilizar arquivos .env no projeto.

Configuração de Ambiente e Variáveis .env

Este guia explica como preparar o ambiente de desenvolvimento e configurar os arquivos .env no backend e no frontend.


1. Visão Geral do Projeto

  • Backend: Node.js, Express, Sequelize, testes com Jest e Supertest.
  • Frontend: Next.js, TailwindCSS e componentes da biblioteca Shadcn UI.
  • Banco de Dados: PostgreSQL (Sequelize).
  • Armazenamento de arquivos: buckets em S3 compatível.
  • Envio de e-mails: serviço configurado via variáveis .env.

2. Pré-requisitos

Antes de iniciar, certifique-se de que as seguintes ferramentas estão instaladas:

  • Node.js (versão LTS, 18 ou superior) Download Node.js Verifique a instalação:

    node -v
    
  • pnpm (gerenciador de pacotes) Instalação:

    npm install -g pnpm
    

    Verifique a instalação:

    pnpm -v
    
  • PostgreSQL (instalação local ou acesso a servidor remoto) Download PostgreSQL Verifique a instalação:

    psql --version
    
  • Hugo (Necessário para rodar a documentação) Download Hugo Verifique a instalação:

    hugo version
    
  • Outras ferramentas úteis:

    • Docker (opcional, para rodar banco ou serviços auxiliares em containers)
    • pgAdmin ou DBeaver (clientes gráficos para PostgreSQL)

3. Arquivos .env

Cada parte do sistema possui um arquivo de variáveis de ambiente de exemplo. Esses arquivos não devem ser versionados com dados reais, apenas mantidos como .env.example para referência.

Backend (.env.example)

PORT=

JWT_KEY=

DB_SGBD=
DB_USER=
DB_PASSWORD=
DB_HOST=
DB_PORT=
DB_NAME=

S3_ACCESS_KEY_ID=
S3_SECRET_ACCESS_KEY=
S3_ENDPOINT=

S3_DOCS_BUCKET=
S3_PS_BUCKET=
S3_IMAGE_BUCKET=
S3_CONTRACT_AMMENDMENTS_BUCKET=

MAIL_HOST=
MAIL_PORT=
MAIL_ADDRESS=
ADMIN_MANAGER_MAIL=

Frontend (.env.development.example)

NEXT_PUBLIC_API_BASE_URL="http://localhost:5000/api"

4. Setup do Ambiente

4.1 Backend

  1. Instale dependências:

    pnpm install
    
  2. Copie o arquivo .env.example para .env e preencha os valores locais:

    cp .env.example .env
    
  3. Inicie o servidor em modo desenvolvimento:

    pnpm start
    

4.2 Frontend

  1. Instale dependências:

    pnpm install
    
  2. Copie o arquivo .env.development.example para .env.development e preecha os valores locais:

    cp .env.development.example .env.development
    
  3. Inicie o servidor de desenvolvimento do Next.js:

    pnpm dev
    

O frontend será iniciado normalmente em http://localhost:3000 (ou na porta configurada).


4.3 Banco de Dados

O banco usado é PostgreSQL. Para acessar manualmente o ambiente de desenvolvimento:

psql -h <DB_HOST> -U <DB_USER> -d <DB_NAME>

Substitua <DB_HOST>, <DB_USER> e <DB_NAME> pelos valores definidos no .env.


4.4 Documentação

Para rodar a documentação localmente, basta acessar o diretorio específico e executar o comando:

hugo server

5. Boas Práticas

  • Sempre mantenha arquivos .env.example atualizados com todas as variáveis necessárias.
  • Nunca versione o arquivo .env com dados reais.
  • Utilize variáveis distintas para desenvolvimento, teste e produção.
  • Em produção, as variáveis devem ser configuradas diretamente no ambiente (por exemplo, via secrets do GitLab CI/CD). Apenas maintainers do projeto têm acesso a essas configurações.
  • Sempre que uma variável for criada ou alterada, comunique a equipe Root, que é responsável por atualizar os valores nas variáveis de ambiente do Kubernetes.
Última modificação September 15, 2025: Issue #358: FIX input cleanups after submition (b78e42a)