Sign inSign up

sol7/bim-gateway

By sol7

•Updated about 5 hours ago

Image
0

10K+

sol7/bim-gateway repository overview

⁠BIM Cron e BIMGateway

Serviço Java 17/Spring Boot para agendamento e execução de cargas, exportações e monitoramentos. O mesmo módulo também fornece o BIMGateway, ativado por extractor.mode=true.

⁠Organização

  • src/main/java: agendador, extratores, APIs e configurações dos modos Cron e Gateway.
  • src/main/resources: propriedades, configurações Quartz e migrações.
  • ui/src: interface React/TypeScript.
  • ui/vite.config.ts: configuração do frontend Vite.
  • src/test: testes Java.
  • build.Dockerfile: imagem do agendador.
  • gateway.Dockerfile: imagem do BIMGateway.

⁠Desenvolvimento do agendador

Use JDK 17, Maven 3.8.6, Node.js 24 com npm e PostgreSQL 16. A imagem de build principal usa Node.js 24.15.0. As dependências Java são resolvidas pelo Maven Central e pelo Nexus configurados no pom.xml, sem instalação manual de JARs.

Dentro de bim-cron, instale primeiro as dependências do frontend:

npm install

Configure as propriedades do ambiente antes de executar o backend. O modo Cron carrega sol7bi2.properties na pasta home do usuário; configurações Spring Boot também podem ser fornecidas por argumentos de execução.

PropriedadesUso
spring.datasource.*Banco PostgreSQL próprio do agendador.
db.url, db.user, db.passwordBanco da aplicação BIMACHINE.
db.data.origins.*Banco das origens de dados.
application.urlURL do portal, por exemplo http://localhost:8080.
integration.initialUrlURL do serviço de integrações.
scheduler.working.directoryDiretório temporário usado nas cargas.
scheduler.load.directoryCaminho correspondente acessível ao PostgreSQL, quando diferente do diretório temporário.
server.portPorta do backend; padrão local 8081.

Use src/main/resources/application.properties e o Docker Compose da raiz⁠ como referência das propriedades e conexões entre os serviços. O usuário do processo e o PostgreSQL precisam acessar os diretórios usados nas cargas com as permissões necessárias.

Para executar o backend:

mvn spring-boot:run

Na configuração do portal, a propriedade scheduler.url deve apontar para esse serviço.

Para acompanhar alterações do frontend, em outro terminal na mesma pasta:

npm run dev

O Vite usa a porta 5274 e a base /static. O backend permanece na porta 8081. O perfil Spring dev configura os diretórios estáticos locais; ative-o na execução de desenvolvimento conforme necessário.

⁠Build

mvn -DskipTests package

O Maven também executa o build do frontend. O JAR é gerado em target; execute o arquivo correspondente à versão em uso com java -jar target/bim-cron-<versao>.jar, mantendo as configurações de banco e diretórios do ambiente.

Para executar os testes Java, use mvn test. As fases Maven também executam as etapas npm definidas no POM.

⁠BIMGateway

O Gateway extrai dados no ambiente do cliente e os envia para a plataforma. Para executá-lo com o JAR, use --extractor.mode=true. As propriedades desse modo estão em ExtractorModeConfig:

  • extractorConfig.url: URL da plataforma; padrão https://app.bimachine.com.
  • extractorConfig.dataDir: diretório persistente das configurações e vínculos.
  • extractorConfig.tempDir: diretório temporário das extrações.

A imagem sol7/bim-gateway já ativa esse modo e usa a porta interna 8080. Exemplo de Compose com uma tag da versão desejada:

services:
  bim-gateway:
    image: sol7/bim-gateway:${TAG}
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - ./.data:/app/.data
      - ./temp:/app/temp
      # Para extração de arquivos locais, acrescente a pasta correspondente:
      # - /caminho/dos/arquivos:/files

Defina TAG no ambiente ou no arquivo .env do Compose. A pasta .data conserva o vínculo com a plataforma e precisa ser preservada nas atualizações. Após iniciar, acesse http://localhost:8080 para configurar a conexão.

Tag summary

Content type

Image

Digest

sha256:6da0d8bfc…

Size

272.9 MB

Last updated

about 5 hours ago

docker pull sol7/bim-gateway