Em produção em: https://fera.isaiasvallejos.dev
Esse repositório representa um desafio proposto pela empresa Feracode e está sendo disponibilizado também como caso de estudo e portfolio.
Um projeto simples de gerenciamento de produtos e suas variantes (e.g. tamanho e/ou cor), especificamente aqui para uma loja de fraldas, mas pode-se aplicar para quaisquer tipos de produtos. Todos os produtos possuem gerenciamento de estoque, compra e também possuem uma predição para quantidade de vendas.
- Node.js (>= v10)
- Express.js - framework web para API RESTs
- Nano - driver/biblioteca para gerenciamento de CouchDB
- Ramda - biblioteca para orquestração e composição de código funcional
- Winston - biblioteca para gerenciamento de logs
- Babel - compilador de Javascript
- Mocha com Chai - frameworks para criação e execução de testes
- CouchDB
- Docker com Docker Compose
- Makefile
Recomenda-se a instalação da aplicação em cima de um ambiente Docker.
$ git clone https://github.com/isaiasvallejos/feracode-challenge
$ cd feracode-challenge
$ mv .env.example .env
$ make dev # npm run docker:dev
$ make migrate-up # npm run docker:migrate-up
Atenção! A migração pode falhar inicialmente caso o CouchDB demore para inicializar.
A partir disso será possível acessar o serviço, por padrão, no endereço localhost:8080
.
É possível verificar todos os comandos dentro dos arquivos Makefile
e package.json
.
$ make tests # npm run docker:tests
$ make build # npm run docker:build
$ make start # npm run docker:start
$ make logs # npm run docker:logs