Skip to content

prtpj1/project-store-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

22º Projeto: Store Manager

Header


Project DescriptionLearningRequirementsStacksHow to run the application


Descrição do ProjetoAprendizadoRequisitosTecnologias UtilizadasRodar a Aplicação


Project Description

In this BackEnd project, I developed a RESTful API using the MSC (model-service-controller) architecture!
The built API is a dropshipping-style sales management system.
A MySQL database was used for data management.

In this project, I learned and put into practice:

  • Creating endpoints to list, create, update/edit, and delete products in a MySQL database
  • Creating endpoints to list sales in a MySQL database

According to the project requirements designated by Trybe, I learned how to:

  • ✅ Create endpoints to list all products
  • ✅ Create endpoints to search for a product by the registered id
  • ✅ Create an endpoint to register products
  • ✅ Create validations for products
  • ✅ Create an endpoint to update a product
  • ✅ Create an endpoint to delete a product
  • ✅ Create endpoints to list all sales
  • ✅ Create endpoints to search for a sale by the registered id
  • ❌ Create an endpoint to validate and register sales
  • ❌ Create an endpoint to delete a sale
  • ❌ Create an endpoint to update a sale
  • ❌ Create an endpoint products/search?q=searchTerm
  • ✅ Develop tests that cover at least 20% of the layers of your application

Stacks

BackEnd:

  • Docker
  • MySQL
  • Node.js

Docker IconMySQL IconNodeJS Icon

How to run the application?

Running locally

  • MySQL needs to be running on your machine
  • ⚠️ If you're on Windows, stop the Windows MySQL, as it will use the MySQL from your Linux distro via WSL2
  • Clone the repository:
    git clone git@github.com:prtpj1/project-project-store-manager.git
  • Access the project folder:
    cd project-project-store-manager
  • Install the dependencies:
    npm install
  • Create (if you don't have one yet) a MySQL connection in a database manipulation program of your choice, such as WorkBench.
  • Set it to use port 3306, and in the .env file (which is in the project root with the name ".env_example" and you should change it to ".env") put the same password you defined when creating the MySQL connection
  • To create the database (the password requested will be your distro's password):
    npm run migration
  • To populate the database (the password requested will be your distro's password):
    npm run seed
  • Start the program:
    npm start
  • Access the link below to access the routes and test them:
    http://localhost:3000/api-docs/

  • You can view the test coverage with the command:
    npm test

🐳 Running with Docker

  • Ensure Docker is running on your computer
    sudo systemctl status docker⚠️ If you're on Windows, just open Docker Desktop
  • Clone the repository:
    git clone git@github.com:prtpj1/project-project-store-manager.git
  • Access the project folder:
    cd project-project-store-manager
  • Start the container for Docker:
    docker-compose up -d
  • Access the link below to access the routes and test them:
    http://localhost:3000/api-docs/

swagger-example

swagger-example_getall route

NOTE: If you encounter any difficulties with the instructions and would like to provide feedback, feel free to send me a message


Descrição do Projeto

Neste projeto de BackEnd desenvolvi uma API RESTFul utilizando a arquitetura MSC (model-service-controller)!
A API construída é um sistema de gerenciamento de vendas no formato dropshipping.
Foi utilizado um banco de dados MySQL para a gestão dos dados.

Nesse projeto, aprendi e coloquei em prática:

  • Criar endpoints para listar, criar, atualizar/editar e deletar produtos em um banco de dados MySQL
  • Criar endpoints para listar vendas em um banco de dados MySQL

De acordo com os requisitos do projeto designados pela Trybe aprendi como:

  • ✅ Criar endpoints para listar todos produtos
  • ✅ Criar endpoints para procurar um produto através da id cadastrada
  • ✅ Criar endpoint para cadastrar produtos
  • ✅ Criar validações para produtos
  • ✅ Criar endpoint para atualizar um produto
  • ✅ Criar endpoint para deletar um produto
  • ✅ Criar endpoints para listar todas as vendas
  • ✅ Criar endpoints para procurar uma venda através da id cadastrada
  • ❌ Criar endpoint para validar e cadastrar vendas
  • ❌ Criar endpoint para deletar uma venda
  • ❌ Criar endpoint para atualizar uma venda
  • ❌ Criar endpoint products/search?q=searchTerm
  • ✅ Desenvolver testes que cubram no mínimo 20% das camadas da sua aplicação

Tecnologias Utilizadas

BackEnd:

  • Docker
  • MySQL
  • Node.js

Docker IconMySQL IconNodeJS Icon


Como rodar a aplicação?

Rodando localmente

  • O MySQL precisa estar rodando na sua máquina
  • ⚠️ Se estiver no Windows, pare o MySQL do Windows, pois usará o MySQL da sua distro Linux através do WSL2
  • Clone o repositório:
    git clone git@github.com:prtpj1/project-project-store-manager.git
  • Acesse a pasta do projeto:
    cd project-project-store-manager
  • Instale as dependências:
    npm install
  • Crie (se ainda não tiver uma) conexão MySQL no programa de sua escolha para manipulação de banco de dados, como o WorkBench.
  • Defina para usar a porta 3306 e no arquivo .env (que está na raiz do projeto com o nome ".env_example" e que você deve alterar para ".env") coloque a mesma senha que você definiu quando criou a conexão MySQL
  • Para criar o banco de dados (a senha solicitada será a da sua distro):
    npm run migration
  • Para popular o banco de dados (a senha solicitada será a da sua distro):
    npm run seed
  • Inicie o programa:
    npm start
  • Acesse o link abaixo para acessar as rotas e testa-las:
    http://localhost:3000/api-docs/

  • Você poderá ver a cobertura de testes através do comando:
    npm test

🐳 Rodando com Docker

  • Confirme que o Docker está rodando no seu computador
    sudo systemctl status docker⚠️ Se estiver no windows, basta abrir o Docker Desktop
  • Clone o repositório:
    git clone git@github.com:prtpj1/project-project-store-manager.git
  • Acesse a pasta do projeto:
    cd project-project-store-manager
  • Suba o container para o Docker:
    docker-compose up -d
  • Acesse o link abaixo para acessar as rotas e testa-las:
    http://localhost:3000/api-docs/

swagger-example

swagger-example_getall route

OBS: Se tiver alguma dificuldade com as instruções e quiser dar um feedback me mande uma mensagem

About

API RESTFul utilizando a arquitetura MSC de um sistema de gerenciamento de vendas no formato dropshipping

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors