Skip to content

isaiasvallejos/feracode-challenge

Repository files navigation

Desafio – Feracode

Em produção em: https://fera.isaiasvallejos.dev

Sumário

Esse repositório representa um desafio proposto pela empresa Feracode e está sendo disponibilizado também como caso de estudo e portfolio.

O que é?

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.

Tecnologias

  • 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

Dependências

Instalação e execução

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.

Comandos

É possível verificar todos os comandos dentro dos arquivos Makefile e package.json.

Testes

$ make tests # npm run docker:tests

Produção

$ make build # npm run docker:build
$ make start # npm run docker:start

Logs

$ make logs # npm run docker:logs