Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thales-eduardo/authentication-jwt
API de autenticação JWT + Upload de arquivos com TypeScript e TypeORM
https://github.com/thales-eduardo/authentication-jwt
babel jwt-authentication jwt-token mongodb nodejs postgresql redis typeorm typescript
Last synced: about 1 month ago
JSON representation
API de autenticação JWT + Upload de arquivos com TypeScript e TypeORM
- Host: GitHub
- URL: https://github.com/thales-eduardo/authentication-jwt
- Owner: Thales-Eduardo
- License: mit
- Created: 2021-05-07T22:44:53.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-06-18T13:40:31.000Z (7 months ago)
- Last Synced: 2024-06-18T16:25:26.050Z (7 months ago)
- Topics: babel, jwt-authentication, jwt-token, mongodb, nodejs, postgresql, redis, typeorm, typescript
- Language: TypeScript
- Homepage:
- Size: 1.31 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Cadastro de usuários
[Documentação](./docs/documt.md).
---
- **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](./docs/bd.png)
# Cadastro
![Cadastro](./docs/mailCadastro.png)
# Recuperar senha
![RecuperarSenha](./docs/mailRec.png)
# Token gerado para recuperar senha
![token](./docs/token.png)
---
# Docker
![Cadastro](./docs/docker.png)
# Build
```bash
yarn add -D babel-plugin-transform-typescript-metadata @babel/plugin-proposal-decorators @babel/plugin-proposal-class-properties
``````bash
yarn add -D @babel/cli @babel/core @babel/node @babel/preset-env @babel/preset-typescript babel-plugin-module-resolver```
```js
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](https://www.docker.com/) instalado na sua maquina.
> Para subir os contêineres.
```bash
docker-compose up -d
```> Para deletar os contêineres.
```bash
docker-compose down
```