Este é um projeto para ser utilizado como base e exemplo, a fins de aprendizado para quem desejar aprender Node.js e Express. O projeto possui as seguintes funcionalidades:
- registro de usuário (com nome, e-mail, cpf e senha)
- recuperação de senha enviando e-mail
- autenticação (com e-mail e senha, retornando um jwt)
Além dessas funcionalidades, busca-se ensinar a realizar o deploy no Heroku e configurar o Travis CI para realizar a integração contínua, através dos testes unitários do diretório test
.
Para ver o demo da aplicação, clique neste link.
Nós assumimos que você já tem o node.js e o npm em sua máquina. Abra seu terminal e execute os comandos abaixo para realizar a instalação do projeto.
Para obter o projeto, é necessário cloná-lo em sua máquina através do comando:
git clone https://github.com/darlannakamura/sample-app.git
Antes de instalar as dependências, é necessário navegar para o diretório clonado com o comando:
cd sample-app
Para instalar as dependências, execute o comando:
npm install
Temos aqui quatro variávies que devem ser setadas para a aplicação funcionar.
A primeira delas é a SALT_KEY
, que será utilizada como dado adicional à senha, para defender de ataques de dicionário. Portanto, gere uma sequência aleatória de letras e números para adicionar à sua SALT_KEY
.
Exemplo de Salt Key:
zKOVGI8ziVpY5eN6S8TO3s33EzeGfSMrTiiaSDWQEucExyNSMrTiiAxndw8Zl7TQABD3oQhCfcF4BsZrObrFEyA5qE
A segunda e a terceira, CONNECTION_STRING_TEST
e CONNECTION_STRING_PROD
, são variáveis de conexão do MongoDB, onde se segue o formato:
mongodb://<usuario>:<senha>@<host>:<porta>/<banco-de-dados>
A CONNECTION_STRING_TEST
deve conter a conexão para um banco de dados que será utilizado para teste, enquanto a CONNECTION_STRING_PROD
deve conter a conexão para o banco de dados de produção.
A última é a SENDGRID_KEY
, que é a KEY
fornecida pelo SendGrid para utilizar a API em sua aplicação (disponível em Settings/API Keys).
Para setar as variáveis de ambiente no Windows, basta digitar no terminal:
set NOME_DA_VARIAVEL_DE_AMBIENTE=VALOR
Onde NOME_DA_VARIAVEL_DE_AMBIENTE
deve ser substituído pelo nome da variável e VALOR
pelo valor que você deseja que a variável receba.
Para setar as variáveis de ambiente no Linux, basta digitar no terminal:
export NOME_DA_VARIAVEL_DE_AMBIENTE="VALOR"
Onde NOME_DA_VARIAVEL_DE_AMBIENTE
deve ser substituído pelo nome da variável e VALOR
pelo valor que você deseja que a variável receba.
Inicie o projeto com o comando:
npm start
Este comando vai rodar os testes unitários do servidor, que estão dentro do diretório test
:
npm test
Para realizar o deploy no Heroku, é necessário:
- criar conta
- clicar em
new
->create app
- Selecionar GitHub como Deployment Method
- Escolher a branch para realizar o deploy
- Clicar em deploy branch
Encontrou um erro? Quer contribuir para o projeto? Deixe seu Pull Request!!