Boas práticas para API em Node.js

Hoje quero compartilhar algumas práticas que considero importante no desenvolvimento de API em Node.js, alguns conceitos que tenho aplicado e compartilhado no meu dia a dia de trabalho. O foco principal é melhorar a qualidade da entrega, criar um padrão consistente de código e facilitar a adesão no time. Quando estamos desenvolvendo novas aplicações em Node.js, especificamente em Javascript, sabemos que a linguagem oferece uma grande flexibilidade de setup e existem diversas formas de organizar nosso código, mas algumas vezes devido a pressa, falta de prazos adequados e até experiência, a preocupação com qualidade fica em segundo plano. Posso te …

Como usar Babeljs em produção

Se você trabalha com os recursos mais recentes do NodeJS ou programa em ES6, certamente deve usar o Babeljs para transpilar seu javascript, embora existam outras ferramentas no mercado, Babel é de longe o favorito. Um dos problemas que temos ao usar o transpiler é coloca-lo pra execução em produção, apesar de existir uma orientação bem explícita na documentação, não recomendando o uso em produção, é fato isto pode ser esquecido. Para resolver este problema, adotei uma nova estrutura em minhas apps, algo simples que agora facilita meu deploy em produção.

Como enviar SMS em NodeJS com SNS AWS

Hoje quero compartilhar com você como enviar SMS em NodeJS usando o serviço SNS da AWS. Esta aplicação é um micro-serviço e você pode utilizar como um componente do seu software atual. Você só precisa subir a app em algum ambiente node e adicionar itens na fila de notificações. No exemplo estou usando uma base MongoDB, mas você pode adaptar o serviço para uma base MySQL ou uma fila em um RabbitMQ ou SQS.

NVM: Instale múltiplas versões Node.js

Quando trabalhamos com desenvolvimento de softwares utilizando Node.js, é comum lidarmos com diferentes versões de módulos, nativamente usamos NPM, o gerenciador padrão do Node.js. Além de nos ajudar a manter nossa aplicação atualizada, possui um conjunto de comandos úteis que nos permiti gerenciar dependências, distribuição de pacotes privados, controlar o cache em módulos e configurações de nossa app. Mas quando preciso lidar com múltiplas versões do Node.js e de outras linguagens?