Manual de Inicializacao Local dos Servicos (Prompt de Comando)
Este guia cobre a inicializacao local e interligacao dos servicos principais:
ecosif-masterdataecosif-movimentsecosif-querysecosif-reportsecosif-complianceecosif-angular
Objetivo: qualquer pessoa conseguir subir o ambiente local com as conexoes necessarias, sem depender de configuracao de IDE.
Observacao importante: para fluxo completo de autenticacao no frontend, o ecosif-auth tambem precisa estar ativo. Este manual foca nos servicos solicitados, mas sem ecosif-auth o login pode falhar.
1) Pre-requisitos
- Java 17
- Maven 3.8+
- Node.js
^14.15.0ou>=16.10.0e npm 6+ - Python 3.8+ (compliance)
- PostgreSQL acessivel
2) Variaveis de ambiente minimas (compartilhadas)
Defina no terminal (ou em um arquivo .env.local que voce carregue com source):
# Banco (usado pelos servicos Java e compliance)
export POSTGRES_HOST=localhost
export POSTGRES_PORT=5432
export POSTGRES_DB=ecosif
export POSTGRES_USER=postgres
export POSTGRES_PASSWORD=postgres
# JPA Java
export HIBERNATE_DDL_AUTO=none
# JWT (usado pelos servicos Java)
export AUTH_TOKEN_SECRET=troque-por-uma-chave-segura
export TOKEN_EXPIRATION=86400000
# CORS para integracao com Angular local
export ECOSIF_CORS=http://localhost:4200
# Logging Java (recomendado para dev)
export LOG_FORMAT=plain
export ECOSIF_LOGSHOW=false
export ECOSIF_LOGMODE_ROOT=INFO
export ECOSIF_LOGMODE_SPRING=INFO
export ECOSIF_LOGMODE_HIBERNATE_SQL=WARN
export ECOSIF_LOGMODE_HIBERNATE=INFO
Variaveis especificas por servico
# Portas dos servicos
export ECOSIF_MASTERDATA_PORT=8081
export ECOSIF_MOVIMENTS_PORT=8082
export ECOSIF_QUERYS_PORT=8083
export ECOSIF_REPORTS_PORT=8084
export ECOSIF_COMPLIANCE_PORT=8021
# Flyway (somente onde existe no application.yml)
export ECOSIF_FLYWAY_ENABLED=false
# Compliance (Python)
export ECOSIF_RUNTIME_ENVIRONMENT=dev
export ECOSIF_HOST_ADDRESS=0.0.0.0
export ECOSIF_DEBUG_MODE=false
export ECOSIF_DB_SERVER=$POSTGRES_HOST
export ECOSIF_DB_PORT=$POSTGRES_PORT
export ECOSIF_DB_LOGIN=$POSTGRES_DB
export ECOSIF_DB_USER=$POSTGRES_USER
export ECOSIF_DB_PASSWORD=$POSTGRES_PASSWORD
export ECOSIF_LOGMODE_ROOT=INFO
export ECOSIF_SESSION_TIMEOUT=30
3) Variaveis do Angular para apontar para os servicos locais
No ecosif-angular, a estrategia de dev usa ECOSIF_API_BASE_URL para montar as URLs:
export ECOSIF_API_BASE_URL=http://localhost
export ECOSIF_ANGULAR_DEBUG=true
export ECOSIF_PAGINATION_SIZE=100
Com isso, as chamadas ficam:
http://localhost/ecosif-masterdatahttp://localhost/ecosif-movimentshttp://localhost/ecosif-queryshttp://localhost/ecosif-reportshttp://localhost/ecosif-compliance
Importante: para funcionar em dev sem gateway reverso, garanta que o frontend tenha proxy configurado para esses paths (ou ajuste a estrategia de URL no frontend para usar portas diretas).
Proxy recomendado no Angular (obrigatorio para este cenario local)
Arquivo: ecosif-angular/src/environments/proxy.conf.json
{
"/ecosif-masterdata": {
"target": "http://localhost:8081",
"secure": false,
"changeOrigin": true
},
"/ecosif-moviments": {
"target": "http://localhost:8082",
"secure": false,
"changeOrigin": true
},
"/ecosif-querys": {
"target": "http://localhost:8083",
"secure": false,
"changeOrigin": true
},
"/ecosif-reports": {
"target": "http://localhost:8084",
"secure": false,
"changeOrigin": true
},
"/ecosif-compliance": {
"target": "http://localhost:8021",
"secure": false,
"changeOrigin": true
}
}
4) Subir tudo via prompt de comando (ordem recomendada)
Use um terminal por servico.
4.1 Masterdata
cd ecosif-masterdata
mvn spring-boot:run
4.2 Moviments
cd ecosif-moviments
mvn spring-boot:run
4.3 Querys
cd ecosif-querys
mvn spring-boot:run
4.4 Reports
cd ecosif-reports
mvn spring-boot:run
4.5 Compliance
cd ecosif-compliance
python3 -m venv .venv
source .venv/bin/activate
pip install -r app/requirements.txt
export PYTHONPATH="${PYTHONPATH:-}:$(pwd)/app"
python app/starter.py
4.6 Angular
cd ecosif-angular
npm install
npm start
5) Validacao rapida de saude
Depois de subir:
curl -f http://localhost:8081/actuator/health
curl -f http://localhost:8082/actuator/health
curl -f http://localhost:8083/actuator/health
curl -f http://localhost:8084/actuator/health
curl -f http://localhost:8021/health
Frontend:
- Abrir
http://localhost:4200 - Validar login e chamadas para os modulos:
- masterdata
- moviments
- querys
- reports
- compliance
6) Script unico opcional (somente variaveis)
Crie um arquivo env.local.ecosif.sh na raiz:
#!/usr/bin/env bash
export POSTGRES_HOST=localhost
export POSTGRES_PORT=5432
export POSTGRES_DB=ecosif
export POSTGRES_USER=postgres
export POSTGRES_PASSWORD=postgres
export HIBERNATE_DDL_AUTO=none
export AUTH_TOKEN_SECRET=troque-por-uma-chave-segura
export TOKEN_EXPIRATION=86400000
export ECOSIF_CORS=http://localhost:4200
export LOG_FORMAT=plain
export ECOSIF_LOGSHOW=false
export ECOSIF_LOGMODE_ROOT=INFO
export ECOSIF_LOGMODE_SPRING=INFO
export ECOSIF_LOGMODE_HIBERNATE_SQL=WARN
export ECOSIF_LOGMODE_HIBERNATE=INFO
export ECOSIF_MASTERDATA_PORT=8081
export ECOSIF_MOVIMENTS_PORT=8082
export ECOSIF_QUERYS_PORT=8083
export ECOSIF_REPORTS_PORT=8084
export ECOSIF_COMPLIANCE_PORT=8021
export ECOSIF_FLYWAY_ENABLED=false
export ECOSIF_RUNTIME_ENVIRONMENT=dev
export ECOSIF_HOST_ADDRESS=0.0.0.0
export ECOSIF_DEBUG_MODE=false
export ECOSIF_DB_SERVER=$POSTGRES_HOST
export ECOSIF_DB_PORT=$POSTGRES_PORT
export ECOSIF_DB_LOGIN=$POSTGRES_DB
export ECOSIF_DB_USER=$POSTGRES_USER
export ECOSIF_DB_PASSWORD=$POSTGRES_PASSWORD
export ECOSIF_SESSION_TIMEOUT=30
export ECOSIF_API_BASE_URL=http://localhost
export ECOSIF_ANGULAR_DEBUG=true
export ECOSIF_PAGINATION_SIZE=100
Carregar antes de subir qualquer servico:
source ./env.local.ecosif.sh
7) Problemas comuns
Could not resolve placeholder: variavel obrigatoria nao foi exportada.Connection refusedno banco: PostgreSQL nao iniciado ou host/porta errados.CORS errorno browser:ECOSIF_CORSnao incluihttp://localhost:4200.- Angular sem conectar nas APIs: falta proxy para os paths
/ecosif-*ou base URL incorreta.