Esta é a base que os projetos da MNW usaram como backend. Ele contem as seguitens funcionalidades
- Autenticação
- Autorização
- Rotas protegidas e não protegidas
- Comunicação com banco de dados
- Modelo de usuário
- CRUD de usuário
Este modelo de softwrae ficará hospedado com a seguinte arquitetura
- Nginx responde os arquivos státicos e HTTPS
- NodeJS responde apenas por api
$ git clone https://github.com/brunoslalmeida/hapijs-base.git
$ cd hapijs-base
$ yarn
Agora é necessário criar o arquivo .ENV
$ touch .env
Coloque neste arquivo as seguintes variáveis: para o arquivo (config.js):
COOKIE=nome_do_cookie
para o arquivo (server.js):
PORT=porta_do_servidor
HOST=host_do_servidor
Variável | Obrigatório | Valor default |
---|---|---|
PORT | Não | 8001 |
HOST | Não | 0.0.0.0 |
para o arquivo (database/index.js):
DBNAME=Nome_do_banco
DBUSER=Nome_do_usuario_do_banco
DBPASS=Senha_do_usuario_do_banco
DBPORT=Porta_do_banco
DBHOST=Host_do_banco
DBDIALECT=Dialeto_do_banco ('mysql' | 'mariadb' | 'postgres' | 'mssql')
Variável | Obrigatório | Valor default |
---|---|---|
DBNAME | Sim | null |
DBUSER | Não | root |
DBPASS | Não | 123456 |
DBPORT | Não | 3306 |
DBHOST | Não | 127.0.0.1 |
DBDIALECT | Não | mysql |
$ npm install -g nodemon
$ nodemon server
- Adicionar testes
- Aguardar aproação do PR: #31 toymachiner62/hapi-authorization#31