/Authentication-JWT

API de autenticação JWT + Upload de arquivos com TypeScript e TypeORM

Primary LanguageTypeScriptMIT LicenseMIT

Cadastro de usuários

Documentação.


  • Cadastro: Ao se cadastra o usuário recebera um email notificando o sucesso no cadastro.

  • Autenticação: A autenticação foi feita com jwt.

  • Recuperar senha: Token gerado pela aplicação, enviado em um link no email do usuário, esse link expira em 1h.

  • Buscar usuários: Para isso o usuário deve estar autenticado na aplicação, e na primeira busca sera feita uma query no banco, nas demais caso não haja nenhuma alteração nos dados buscara no cache.

  • Atualizar perfil: Para atualizar as informações do perfil o usuário deve estar autenticado.

  • Deletar perfil: Para deletar perfil o usuário deve apenas estar autenticado.

  • Notificação com o mongodb: Quando o usuário criar conta e trocar a senha, recebera uma notificação sobre.

  • E-mail: Todos os e-mais entra em fila, diminuindo o tempo de resposta, caso a 1 tentativa falhe o bull tentara enviar mais três vezes.


Tabelas

tabelas

Cadastro

Cadastro

Recuperar senha

RecuperarSenha

Token gerado para recuperar senha

token


Docker

Cadastro

Build

yarn add -D babel-plugin-transform-typescript-metadata @babel/plugin-proposal-decorators @babel/plugin-proposal-class-properties
yarn add -D @babel/cli @babel/core @babel/node @babel/preset-env @babel/preset-typescript babel-plugin-module-resolver
module.exports = {
  presets: [
    ['@babel/preset-env', { targets: { node: 'current' } }],
    '@babel/preset-typescript',
  ],
  plugins: [
    'babel-plugin-transform-typescript-metadata',
    ['@babel/plugin-proposal-decorators', { legacy: true }],
    ['@babel/plugin-proposal-class-properties', { loose: true }],
  ],
};

Para iniciar o projeto

Para rodar o projeto tem que ter o Docker instalado na sua maquina.

Para subir os contêineres.

docker-compose up -d

Para deletar os contêineres.

docker-compose down