Projeto back-end, API RESTful desenvolvida em modelo MSC, com CRUD completo em node.js + express (com express-rescue), banco de dados MySQL. Foram utilizados schemas e middlewares para a segurança e validação juntamente com o Joi.
Sistema de gerenciamento de vendas com autenticação e autorização.
Esta API contém testes unitários para garantir a qualidade do resultado. Cobertura mínima de 60% de código.
URI base da API: Deploy
A API responde aos métodos HTTP abaixo. As requisições devem ser feitas para https://store-manager-deploy.herokuapp.com/<ENDPOINT>
. A URI base não contém nenhum conteúdo relevante. Recomendo utilizar o Postman, o Insomnia ou outra aplicação para acessar os endpoints.
LISTA DE ENDPOINTS:
-
/sales
:GET /
;POST /
;GET /<id>
;DELETE /<id>
;PUT /<id>
;
-
/products
:GET /
;POST /
;GET /<id>
;DELETE /<id>
;PUT /<id>
;
Projeto incentivado pela Trybe, no módulo de back-end do curso de Desenvolvimento Web.
- Planejar e Desenvolver uma API RESTful em camadas (MSC);
- Conhecimentos em JS, SQL, arquitetura e padrões de projeto;
- Clone o repositório
git clone [email protected]:unamednada/store-manager.git
- Entre na pasta do repositório que você acabou de clonar:
cd store-manager
- Instale as dependências e inicialize o projeto
- Instale as dependências:
npm install
- Certifique-se de que seu servidor MySQL está rodando, senão inicialize
- Verifique se o serviço está online:
sudo systemctl status mysql
- Caso esteja offline, inicie o serviço:
sudo systemctl start mysql
- Faça a migração do banco de dados para sua máquina local
- Abra seu terminal ou o seu workbench e faça a query contida no arquivo:
StoreManager.sql
- Crie um arquivo chamado
.env
na raiz do projeto contendo as seguintes variáveis:
PORT
: a porta em que a API vai receber as requisiçõesMYSQL_HOST
: o hospedeiro do banco de dados, no caso da máquina local, olocalhost
MYSQL_USER
: seu usuário do MySQLMYSQL_PASSWORD
: a senha para acessar o MySQLMYSQL_DB_NAME
: o nome do banco de dados que criamos no passo 3,StoreManager
- Rode o servidor e vá até
http://localhost:3001
no seu navegador
- Verifique que a sua porta 3001 está livre no localhost:
sudo ss -plnut
- Agora, execute o servidor
npm start
- Clone o repositório
git clone [email protected]:unamednada/store-manager.git
- Entre na pasta do repositório que você acabou de clonar:
cd store-manager
- Instale as dependências e inicialize o projeto
- Instale as dependências:
npm install
- Crie uma branch a partir da branch
master
- Verifique que você está na branch
master
- Exemplo:
git branch
- Exemplo:
- Se não estiver, mude para a branch
master
- Exemplo:
git checkout master
- Exemplo:
- Agora, crie uma branch onde você vai guardar os
commits
do seu projeto- Você deve criar uma branch no seguinte formato:
nome-de-usuario-feat-descricao
- Exemplo:
git checkout -b mariazinha-feat-mobile-design
- Você deve criar uma branch no seguinte formato:
- Adicione as mudanças ao stage do Git e faça um
commit
- Verifique que as mudanças ainda não estão no stage
- Exemplo:
git status
(devem aparecer listados os novos arquivos em vermelho)
- Exemplo:
- Adicione o novo arquivo ao stage do Git
- Exemplo:
git add .
(adicionando todas as mudanças - que estavam em vermelho - ao stage do Git)git status
(devem aparecer listados os arquivos em verde)
- Exemplo:
- Faça o
commit
inicial- Exemplo:
git commit -m 'Feat: mobile responsive design'
(fazendo o primeiro commit)git status
(deve aparecer uma mensagem tipo nothing to commit )
- Exemplo:
- Adicione a sua branch com o novo
commit
ao repositório remoto
- Usando o exemplo anterior:
git push -u origin mariazinha-feat-mobile-design
- Crie um novo
Pull Request
(PR)
- Vá até a página de Pull Requests do repositório no GitHub
- Clique no botão verde "New pull request"
- Clique na caixa de seleção "Compare" e escolha a sua branch com atenção
- Adicione uma descrição para o Pull Request, um título que o identifique, e clique no botão verde "Create pull request". Crie da seguinte forma:
[MARIAZINHA][FEAT]Mobile design
- Adicione uma descrição para o Pull Request, um título claro que o identifique, e clique no botão verde "Create pull request"
- Não se preocupe em preencher mais nada por enquanto!
- Volte até a página de Pull Requests do repositório e confira que o seu Pull Request está criado
Depois que as mudanças forem revisadas, elas poderão ser incorporadas, ou você pode ter que fazer uma mudança pra que elas sejam revisadas novamente. Fique de olho!
Para garantir que sua alteração não interfere no funcionamento da API, antes de subir suas modificações, lembre-se de testar as camadas e caso faça mais testes ou modifique os testes atuais, certifique-se de que a cobertura está acima do mínimo:
npm run test:mocha
npm run test
Para garantir a qualidade do código, vamos utilizar neste projeto os linters ESLint
e StyleLint
.
Assim o código estará alinhado com as boas práticas de desenvolvimento, sendo mais legível
e de fácil manutenção! Para rodá-los localmente no projeto, execute os comandos abaixo:
npm run lint
npm run lint:styles
Quando é executado o comando npm run lint:styles
, ele irá avaliar se os arquivos com a extensão CSS
estão com o padrão correto.
Quando é executado o comando npm run lint
, ele irá avaliar se os arquivos com a extensão JS
e JSX
estão com o padrão correto.
Para "entregar" suas mudanças, siga os passos a seguir:
- Vá até a página DO SEU Pull Request, adicione a label de "code-review" e marque seus colegas
- No menu à direita, clique no link "Labels" e escolha a label code-review
- No menu à direita, clique no link "Assignees" e escolha o seu usuário
⚠ Lembre-se que garantir que todas as issues comentadas pelo Lint estão resolvidas! ⚠