Servidor de mensageria
- Disponível em
- https://laissonsilveira.github.io/message-api/
docs/index.html
- Para atualizar documentação, executar comando
npm run doc
- Node.js >= 10
- MongoDB >= 4
- Docker >= 18
Caso a imagem ainda não esteja hospedada
docker build --rm -f "Dockerfile" -t message-api:latest .
- Configurar arquivo
.env
com os dados de conexão com banco e quantidade de cluster para servidor da API - Mapear volume do database do containe Mongo
- Não foi feito configurações de cluster do banco por falta de tempo
- Mapear volume do log do container API
- Outras configurações podem ser alteradas no arquivo
config/default.json
- Outras configurações podem ser alteradas no arquivo
- Executar comando
docker-compose up
- O comando acima irá subir 2 container
- Database: MongoDB 4.0.4
- API: Node.js 10.15.3
- O comando acima irá subir 2 container
- Instalar Node.js 10.15.3
- Instalar PM2:
npm install pm2 -g
(Mais detalhes aqui -> http://pm2.keymetrics.io/) - Configurar PM2 para iniciar junto ao sistema:
pm2 startup
- Instalar MongoDB 4.0.4
- Ativar autenticação automática do serviço em vim
/etc/mongodb.conf
:security: authorization: enabled
- Acessar mongo: mongo --host --port message-api -u 'api_user' -p 'api_pwd' --authenticationDatabase 'admin'
- Criar usuários do banco
use admin
db.createUser({user:"USUARIO_ROOT",pwd:"SENHA_ROOT", roles:[{role:"root",db:"admin"}]});
- Os inseridos devem ser configurados no arquivo de configuração (
config/default.json
)"database": { ... "user": "USUARIO_ROOT", "pass": "SENHA_ROOT" ... }
- Instalar dependências:
MONGOMS_VERSION=4.0.4 npm install
- Variável MONGOMS_VERSION é necessária para escolha da versão do mock do MongoDB que será instalado em cache
- Os testes são executados usando
mocha
- Para executar os testes:
npm test
- Um relatório em HTML estará disponível em
test/covarage/mochawesome.html
- Instalar dependências:
npm install
- Executar comando:
npm run build
- Pacote
message-api.tgz
gerado na pastadist
- Descompatar arquivo e executar
pm2 start message-api/bin/message-api
- Outros comandos do pm2 disponíveis: http://pm2.keymetrics.io