API RESTful desenvolvida em Node.js para gerenciamento e transformação de dados de pedidos. O projeto implementa uma arquitetura MVC, utiliza banco de dados relacional (SQLite) e garante a consistência dos dados através de transações.
- Node.js: Ambiente de execução JavaScript.
- Express: Framework para construção da API.
- SQLite: Banco de dados relacional serverless.
- Sequelize: ORM para modelagem de dados e associações.
Certifique-se de ter o Node.js e o NPM instalados em sua máquina.
-
Clone o repositório: git clone https://github.com/asventura96/jitterbit_api_js.git
-
Acesse a pasta do projeto: cd jitterbit_api_js
-
Instale as dependências: npm install
-
Inicie o servidor: npm run dev
O servidor iniciará em http://localhost:3000. O banco de dados database.sqlite será criado automaticamente na raiz do projeto na primeira execução.
Recebe os dados no formato legado (Português) e realiza a transformação para o formato do banco de dados (Inglês).
- URL:
/order - Método:
POST - Corpo da Requisição (JSON):
{ "numeroPedido": "v10089015vdb-01", "valorTotal": 10000, "dataCriacao": "2023-07-19T12:24:11.5299601+00:00", "items": [ { "idItem": "2434", "quantidadeItem": 1, "valorItem": 1000 } ] }
- Resposta de Sucesso (201 Created):
{ "orderId": "v10089015vdb-01", "value": 10000, "creationDate": "2023-07-19T12:24:11.529Z", "items": [ { "productId": 2434, "quantity": 1, "price": 1000 } ] }
Retorna os detalhes de um pedido específico, incluindo seus itens.
- URL:
/order/:id - Método:
GET - Exemplo:
/order/v10089015vdb-01
Retorna uma lista com todos os pedidos cadastrados no banco.
- URL:
/orders/list - Método:
GET
src/ ├── controllers/ # Lógica de negócios e transformação de dados ├── database/ # Configuração do banco e inicialização do Sequelize ├── models/ # Definição das tabelas e relacionamentos ├── routes.js # Definição dos endpoints da API └── index.js # Ponto de entrada do servidor