Sobre o DynamoDB Admin
O DynamoDB Admin é uma aplicação de interface web desenvolvida em Node.js para interagir com o Amazon DynamoDB. Ele oferece uma maneira visual de explorar a estrutura das tabelas, executar consultas e gerenciar dados sem a necessidade de escrever código, simplificando tarefas administrativas.
- Estrutura de Diretórios do Projeto
O projeto é organizado em uma estrutura de diretórios específica:
dynamodb-admin/
├── bin/
│ └── server-start
├── src/
│ ├── web-app.js
│ ├── dynamo-connector.js
│ ├── entry.js
│ └── utilities.js
├── static/
│ ├── resources/
│ ├── main-page.html
│ └── layout.css
├── tests/
│ ├── end-to-end/
│ └── unit/
├── .gitignore
├── LICENSE
├── package.json
├── README.md
└── package-lock.json
Descrição dos componentes:
bin/: Contém scripts executáveis para inicialização.src/: Armazena a lógica principal da aplicação.static/: Inclui recursos estáticos como HTML e CSS.tests/: Contém arquivos de teste para validação.
- Arquivo de Inicialização
O arquivo de inicialização, localizado em bin/server-start, é um script que confiugra e lança o servidor web.
#!/usr/bin/env node
const webApp = require('../src/web-app');
const httpModule = require('http');
const appPort = process.env.APP_PORT || 8001;
httpModule.createServer(webApp).listen(appPort, () => {
console.log(`Aplicativo disponível em http://localhost:${appPort}`);
});
Passos para executar o projeto:
-
Instale o Node.js e o npm no sistema.
-
No diretório raiz, execute
npm installpara baixar as dependências. -
Inicie o servidor com o comando
npm start. -
Arquivo de Configuração
A configuração principle reside no arquivo package.json, que detalha as dependências, scripts e metadados do projeto.
{
"name": "dynamodb-admin",
"version": "5.0.0",
"description": "Interface gráfica para Amazon DynamoDB Local",
"main": "src/entry.js",
"bin": {
"dynamodb-admin": "bin/server-start"
},
"scripts": {
"start": "node bin/server-start",
"test": "jest --coverage"
},
"dependencies": {
"express": "^4.19.0",
"@aws-sdk/client-dynamodb": "^3.400.0"
},
"devDependencies": {
"jest": "^29.7.0"
},
"repository": {
"type": "git",
"url": "git+https://github.com/exemplo/dynamodb-admin.git"
},
"keywords": [
"dynamodb",
"admin-interface",
"aws"
],
"license": "MIT"
}
Campos essenciais explicados:
nameeversion: Identificam o projeto e sua versão atual.main: Especifica o ponto de entrada da aplicação.scripts: Define comandso para iniciar e testar o projeto.dependencies: Lista pacotes necessários para execução.