Essa é uma api de autenticação baseada em papeis e permissões para o usuário.
- Typeorm
- jsonwebtoken
- express
- Primeiramente faça o clone do repositório para a sua máquina
git clone git@github.com:abelsouzacosta/role-based-authorization.git
cd role-based-authorization
- Insale as dependências
# instalando as dependências
yarn or npm install
- Usando as variáveis de ambiente
A api faz uso de variáveis de ambiente, essas variáveis são definidas em dois arquivos distintos .env
onde são guardadas as variáveis de ambiente referentes ao servidor e ormconfig.env
que guarda as variáveis de ambiente referentes ao banco de dados da aplicação, assim sendo renomeie os arquivos .env.example
e ormconfig.env.example
para .env
e ormconfig.env
respectivamente
Dentro do seu .env
determine a porta da aplicação e o hash do jwt
# Porta do servidor da aplicação
PORT =
# Hash do JWT
SECRET =
Dentro de seu ormconfig.env
devem estar as seguintes configurações
# Tipo de banco de dados utilizado
TYPEORM_CONNECTION = (postgres, mysql, sqlite...)
# Host do banco de dados
TYPEORM_HOST =
# Username do banco de dados
TYPEORM_USERNAME =
# Senha do banco
TYPEORM_PASSWORD =
# Nome do banco
TYPEORM_DATABASE =
# Porta do banco de dados
TYPEORM_PORT =
### As variáveis abaixo não devem ser modificadas ###
# Padrão das migrations
TYPEORM_MIGRATIONS = ./src/shared/typeorm/migrations/*.ts
# Diretório onde devem ser criadas as migrations com o comando `typeorm migration:create`
TYPEORM_MIGRATIONS_DIR = ./src/shared/typeorm/migrations
# Diretórios onde serão encontradas as entidades
TYPEORM_ENTITIES = ./src/modules/**/typeorm/entities/*.ts
- Crie as tabelas no banco de dados
Execute as migrations
yarn typeorm migration:run
O banco de dados dessa aplicação está disposto como no diagrama abaixo:
Você pode baixar o ambiente de rotas dessa api clicando no botão abaixo: