DynamoOps
Open source

Compilar a partir do código-fonte

Clone o repositório, rode o DynamoOps em modo de desenvolvimento, execute os testes e gere seus próprios instaladores para macOS e Windows.

Pré-requisitos

FerramentaVersão
Node.js18 ou mais recente, com npm
GitQualquer versão recente
Acesso à AWSUm perfil em ~/.aws, um portal SSO ou um endpoint local, como o LocalStack

Rodar em modo de desenvolvimento

  1. Clone e instale
    bash
    git clone https://github.com/renatoasterio/DynamoOps.git
    cd DynamoOps
    npm install
  2. Inicie o app desktop
    bash
    npm run electron
  3. Ou rode no navegador

    npm run dev inicia apenas o servidor local; abra http://localhost:3457. Isso é prático para trabalhos rápidos na interface usando as ferramentas de desenvolvedor do navegador.

Testes e lint

bash
npm test       # Jest: API security, code generators and utilities
npm run lint   # ESLint for the frontend and backend

Os dois precisam passar antes de um pull request ser aceito.

Gerar instaladores

bash
npm run build:prod:mac            # macOS Apple Silicon (.dmg)
npm run build:prod:mac:universal  # macOS Universal (Apple Silicon + Intel)
npm run build:prod:win            # Windows x64 (NSIS installer + portable)
  • Os artefatos são gravados em dist/.
  • O frontend é empacotado com o esbuild em uma cópia de staging, então seus arquivos-fonte nunca são modificados.
  • As builds que você mesmo gera não são assinadas, por isso o Gatekeeper do macOS e o SmartScreen do Windows exibem um aviso na primeira execução.

Arquitetura em resumo

O DynamoOps é um app Electron com um servidor Express local em 127.0.0.1:3457 e um frontend em JavaScript puro com ES modules, sem framework e sem etapa de build no desenvolvimento.

text
electron-main.js     Electron main process: starts the server, opens a sandboxed window
server.js            Express entry point (browser mode)
src/backend/         config, middleware (security, errors, validation), controllers, services, routes
public/js/           state, api client, utils, codegen (one module per language), components
tests/               Jest test suites
scripts/             production build (esbuild + electron-builder)
Por onde começar a ler
O README do repositório e o CLAUDE.md descrevem as convenções em mais detalhes.

Relacionados