Resolução do desafio proposto pela Base39, abaixo, contém as instruções para que seja possível executar a aplicação.
Para essa resolução, foi utilizado o boiler-plate disponibilizado pela base39.
- Requisitos
- Instalação
- Modo de usar
- Testes
- Suporte
- Contribuição
- Observação
Tecnologias que o projeto utiliza.
Após clonar o projeto, execute os passos abaixo:
Para executar a aplicação, análogo ao que será executado em produção:
docker-compose up -d --build
Criar o arquivo .env
baseado no .env.example
. Esse arquivo contém os dados para conexão do banco de dados.
npm install
docker-compose up -d
npm start
http://localhost:8000
Com a aplicação em execução, há duas maneiras de consumir seus recursos:
curl --location 'http://localhost:8000/api/v1/menu' \
--header 'Content-Type: application/json' \
--data '{
"name": "menu name",
"relatedId": "parent id"
}'
Lembrando que o campo relatedId
é opcional, ou seja, só deve ser informado para indicar relação entre menus.
curl --location 'http://localhost:8000/api/v1/menu'
curl --location --request DELETE 'http://localhost:8000/api/v1/menu/640120d11ea40cc9c1eb9864'
É possível importar o arquivo postman.json
que se encontra no diretório /.docs
via postman
. Após importar o mesmo, as rotas listadas acima, serão importadas no seu postman.
Os testes do projeto encontram-se dentro da pasta ./test
, na qual utiliza as dependências jest
. Para executar a suíte de teste execute o comando:
docker-compose -f docker-compose-deps.yml up -d
$ npm test
Por favor abra uma issue para suporte.
- Faça um fork do projeto.
- Crie sua feature branch (
git checkout -b my-new-feature
). - Commit suas alterações (
git commit -am 'Add some feature'
). - Faça um push de sua branch (
git push origin my-new-feature
). - Crie uma nova pull request.
Esse projeto utiliza o husky
para executar algumas ações, uma delas é o pre-push
. Ou seja, antes que o git push seja executado, os testes serão rodados.
Como os testes necessitam de uma instância do MongoDB, com o intuito de serem mais eficazes, é importante que o container esteja no ar. Portanto quando for executar os testes ou subir alguma alteração, verifique:
docker ps -a
docker-compose -f docker-compose-deps.yml up -d