Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/giovanesouza/market-place-nodejs
O código do mais novo market place - Projeto desenvolvido ao longo do curso de Desenvolvimento Full Stack, módulo Back-end Development da Ília/Italents.
https://github.com/giovanesouza/market-place-nodejs
arquitetura-mvc bycrypt cors env express javascript jwt mongodb mongoose nodejs swagger-ui
Last synced: about 2 months ago
JSON representation
O código do mais novo market place - Projeto desenvolvido ao longo do curso de Desenvolvimento Full Stack, módulo Back-end Development da Ília/Italents.
- Host: GitHub
- URL: https://github.com/giovanesouza/market-place-nodejs
- Owner: giovanesouza
- License: gpl-3.0
- Created: 2023-11-07T01:12:40.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-05T02:12:36.000Z (7 months ago)
- Last Synced: 2024-06-05T03:31:27.317Z (7 months ago)
- Topics: arquitetura-mvc, bycrypt, cors, env, express, javascript, jwt, mongodb, mongoose, nodejs, swagger-ui
- Language: JavaScript
- Homepage:
- Size: 235 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Marketplace NodeJS
## ℹ️ Sobre
Este projeto foi desenvolvido durante as aulas da formação em desenvolvimento Full Stack da iTalents, módulo de Desenvolvimento Back-end, e tem como objetivo disponibilizar todas as funcionalidades necessárias para o funcionamento de um marketplace como cadastro de produtos e solicitação de pedidos. Na seção `## 🔗 Endpoints` você poderá consultar todas as rotas disponíveis
## 💻 Tecnologias utilizadas
## 📝 Requisitos para rodar a aplicação
1. Ter o Git, Node uma IDE de sua preferência e o MongoDB instalados em sua máquina;
2. Baixe todo o codigo, abra o terminal do VS Code e execute o comando: `npm i`;
3. Crie um arquivo `.env` e insira as variáveis de ambiente que constam no `.env.example`;
```
URLDATABASE = "URL do seu banco no MongoDB"
SECRET = "Chave para geração do TOKEN"
```
5. Execute o projeto por meio do comando: `npm start`## 🔗 Endpoints
### Autenticação
- POST `/login`: Realiza o login do usuário.### Usuário
- GET `/user/:id`: Retorna um usuário específico pelo ID.
- GET `/users`: Retorna todos os usuários com paginação.
- POST `/user`: Cria um novo usuário.
- POST `/user/address`: Adiciona um endereço ao usuário específico pelo ID.
- POST `/user/favorite-product`: Adiciona um produto favorito ao usuário específico pelo ID.
- PUT `/user/:id`: Atualiza um usuário existente pelo ID.
- DELETE `/user/:id`: Remove um usuário pelo ID.
- DELETE `/user/address`: Remove um endereço do usuário.
- DELETE `/user/favorite-product`: Remove um produto favorito do usuário específico pelo ID.### Produto
- GET `/product/:id`: Retorna um produto específico pelo ID.
- GET `/products`: Retorna todos os produtos com paginação.
- POST `/product`: Cria um novo produto.
- POST `/product/category`: Adiciona uma categoria ao produto específico pelo ID.
- PUT `/product/:id`: Atualiza um produto existente pelo ID.
- DELETE `/product/:id`: Exclui um produto pelo ID.
- DELETE `/product/category`: Remove uma categoria do produto específico pelo ID.### Categoria
- GET `/category/:id`: Retorna uma categoria específica pelo ID.
- GET `/categories`: Retorna todas as categorias com paginação.
- POST `/category`: Cria uma nova categoria.
- PUT `/category/:id`: Atualiza uma categoria existente pelo ID.
- DELETE `/category/:id`: Exclui uma categoria pelo ID.### Pedido
- GET `/order/:id`: Retorna um pedido específico pelo ID.
- GET `/orders`: Retorna todos os pedidos com paginação.
- POST `/order`: Cria um novo pedido.
- DELETE `/order/:id`: Exclui um pedido pelo ID.
- PATCH `/order/status`: Atualiza o status de um pedido específico pelo ID.### Carrinho
- GET `/cart/:id`: Retorna um carrinho específico pelo ID.
- GET `/carts`: Retorna todos os carrinhos com paginação.
- POST `/cart`: Cria um novo carrinho.
- PUT `/cart/:id`: Atualiza um carrinho existente pelo ID.
- DELETE `/cart/:id`: Exclui um carrinho pelo ID.