Back-end
Api desenvolvida para atender as demandas de um teste tecnico da Shopper.com.br
🧩 Introdução | 🚀 Resultados | 🧪 Dependências | 💡 Possíveis Melhorias | 🏆 Créditos
⠀⠀⠀⠀Essa API foi desenvolvida para representar a dinâmica básica de um supermercado virtual. Aqui será encontrado três entidades fundamentais para o bom funcionamento de um supermercado: produtos, usuário e carrinho de compra. As funcionalidades básicas encontradas nessa API são: ver os produto e mudar a quantidade de estoque, cadastrar usuário, adicionar, remover e ver produtos dentro do carrinho.
Documentação no Posteman
➥ Link
Projeto Front-end
➥ Link GitHub
Todos os resultados foram alcançados com sucesso. De modo geral são esses os resultados de cada requisição.
- Pegar todos os produtos
- Pegar o id do usuario atraves do nome
- Pegar os produtos dentro do carrinho do usuario
- Pegar a soma de todos os item do usuario
- Adicionar produtos dentro do carrinho
- Adicionar um novo usuario
- Mudar a quantidade de um item dentro do carrinho
- Mudar a quantidade de um produto dentro do estoque
- Deletar um produto dentro do carrinho
- id: Identificador único
- name: Nome do produto
- price: Preço do produto
- qty_stoke: A quantidade em estoque do produto
http://localhost:3003/shopper/products
http://localhost:3003/shopper/products/:id/:quantity
- id = Indentificador do produto
- quantity = Quantidade
- id: identificador único gerado pela própria aplicação
- name: nome da pessoa
- data_nasc: Data de entrega
http://localhost:3003/shopper/user
{
"name": "user",
"delivery_date": "2022-10-01"
}
http://localhost:3003/shopper/user/:name
- name = nome do usuario
http://localhost:3003/shopper/user/products/:name
name = id do usuario gerado pela aplicação
http://localhost:3003/shopper/user/product/total/price/:id
id = id do usuario gerado pela aplicação
- id: identificador único gerado pela própria aplicação
- id_product: relação entre product_user e produtos
- id_user: relação entro product_user e usuario
- quantity: A quantidade de itens dentro do carrinho
http://localhost:3003/shopper/user/products
{
"id_product": 45,
"id_user": "9313154f-4bbf-454d-a0dd-7cbe2eed465d"
}
http://localhost:3003/shopper/user/:id/:quantity
id = id do produto quantity = quantidade desejada
http://localhost:3003/shopper/user/products/:id
id = id do produto
- Nodejs
- Express/Cors
- MySQL - banco relacional
- Typescript
- NPM
Requisitos para rotar o codigo...
Caso tenha Git basta da git clone, caso não tenha baixe o projeto completo em dowlon
git clone https://github.com/MayconCoutinho/Api-Shopper
Caso já tenha o Node em sua maquina basta instalar o projeto com npm i
npm i
OBS - Muito importante, caso não tenha um banco de dados MySQL disponivel, não vai da para rodar o projeto, pois o projeto conecta diretamente com o banco de dados sendo assim crie um arquivo ".env" para por os dados do MySQL.
DB_HOST = Dados MySQL
DB_USER = Dados MySQL
DB_PASSWORD = Dados MySQL
DB_SCHEMA = Dados MySQL
"scripts": {
"start": "node ./build/src/index.js",
"migrations": "npx prisma migrate dev",
"build": "tsc",
"dev": "ts-node-dev ./src/server.ts ",
"test": "vitest",
"commit": "git-cz"
}
"dependencies": {
"cors": "^2.8.5",
"dotenv": "^16.0.3",
"express": "^4.18.1",
"knex": "^2.3.0",
"mysql": "^2.18.1",
"swagger-ui-express": "^4.6.3",
"uuid": "^9.0.0"
}
"devDependencies": {
"@types/cors": "^2.8.12",
"@types/express": "^4.17.14",
"@types/knex": "^0.16.1",
"@types/node": "^18.8.2",
"@types/swagger-ui-express": "^4.1.3",
"@types/uuid": "^8.3.4",
"ts-node-dev": "^2.0.0",
"typescript": "^4.8.4"
}
Possíveis melhorias no código e no projeto, caso queira voltar e melhorá lo.
- ***- ***
- ***- ***
Todo o projeto foi feito por...
Maycon Coutinho |
Hello 😃 Se você chegou até aqui, acredito que gostou do meu projeto, nesse caso temos algo em comum, sendo assim que tal conversamos um pouco? Meu chama no linkedin 😁 |
---|