git clone https://github.com/Yaguera/EcommercePrototypeAPI.gitEntre no diretório do projeto: cd EcommercePrototypeAPI
-
Run
npm icommand -
Run
docker-compose up -dcommand -
Run
npm run devcommand
Este projeto é uma API para gestão de pedidos e controle de estoque de produtos, o foco do projeto está na integração de sistemas por meio do RabbitMQ, uma ferramenta que ajuda a verificar a quantidade de produtos no estoque de maneira eficiente, antes de confirmar um pedido. A ideia principal foi garantir que, através da integração por mensageria, seja verificado a quantidade de produtos e garantir que sempre haja estoque disponível para os pedidos, sem sobrecarregar o sistema pois caso vários pedidos sejam feitos ao mesmo tempo, a fila de mensagens dará conta de processá-los assincronamente.
- Node.js (Framework Express)
- TypeScript
- TypeORM
- PostgreSQL
- RabbitMQ (Mensageria)
- JWT (Autenticação)
- Docker e Docker-Compose
| Método | Rota | Descrição |
|---|---|---|
| POST | /user/signup | Cadastrar um novo usuário |
| POST | /user/login | Login do usuário |
| GET | /user/profile | Retorna dados do usuário |
| GET | /user/users | Retornar todos os usuários |
| PUT | /user/update/:id | Atualizar dados do usuário |
| DELETE | /user/delete/:id | Deletar usuário |
| Método | Rota | Descrição |
|---|---|---|
| POST | /pedidos/create | Criar um pedido |
| GET | /pedidos/all | Mostrar todos os pedidos |
| PUT | /pedidos/update/:id | Atualizar um pedido |
| DELETE | /pedidos/delete/:id | Deletar um pedido |
| Método | Rota | Descrição |
|---|---|---|
| POST | /produto/create | Criar um produto |
| GET | /produto/all | Mostrar todos os produtos |
| PUT | /produto/update/:id | Atualizar um produto |
| DELETE | /produto/delete/:id | Deletar um produto |
| Método | Rota | Descrição |
|---|---|---|
| POST | /categoria/create | Criar uma categoria |
| GET | /categoria/all | Mostrar todas as categorias |
| PUT | /categoria/update/:id | Atualizar uma categoria |
| DELETE | /categoria/delete/:id | Deletar uma categoria |