- Para iniciar um projeto execute
npm init -y
- O parâmetro
-y
evitará as perguntas e criará o arquivopackage.json
com as informações padrões do node. O arquivo pode ser alterado manualmente, se necessário.
- O parâmetro
- Execute também o comando
npm install http express debug
pra instalar os pacotes básicos para desenvolvimento web. - Para executar a API apenas execute o comando
node .\bin\server.js
ou apenas executenpm start
(script armazenado no package.json)
- Package
nodemon
(apenas para dev), para que a API atualize em tempo de execução conforme alteramos a mesma.npm install nodemon --save-dev
- Para executar o nodemon execute:
nodemon .\bin\server.js
- Package
mongoose
para conexão com o MongoDBnpm install mongoose --save
- Package uuid para geração de GUIDs:
npm install uuid --save
- Package md5 para criptografia de senha de usuários:
npm install md5 --save
- Package sendgrid/mail para envio de e-mails:
npm install --save @sendgrid/mail
- Package JWT para envio autenticação:
npm install jsonwebtoken --save
- A aplicação faz uso do MongoDB com docker. Para installar a versão mais recente do mongodb com docker (latest) use o comando:
docker pull mongo
- Para criar um container chamado mongodb, execute o comando abaixo substituindo os valores dos campos
MONGO_INITDB_ROOT_USERNAME
eMONGO_INITDB_ROOT_PASSWORD
para o usuário e senha desejado.docker run --name mongodb -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=dbuser -e MONGO_INITDB_ROOT_PASSWORD=myPassword mongo
- Comando pra parar a execução:
docker stop mongodb
- Para iniciar novamente o mesmo container:
docker start mongodb
- Para o funcionamento correto da aplicação é necessário criar o arquivo secrets.js contendo os dados sensíveis usados pela aplicação. O arquivo deve conter as seguintes propriedades:
module.exports = {
mongodbUser: 'mongoDbUser',
mongodbPassword: 'mongoDbPassword',
mongodbHost: 'YouHost',
mongodbPort: '27017',
saltKey: 'SOME GUID SALT KEY'
}