Skip to content

victorlima11/ts-node-authjwt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 

Repository files navigation

Template Node.js + TypeScript

Um template base para projetos Node.js com TypeScript, contendo autenticação com JWT + hash, sistema de login/register e um CRUD completo de usuário. Além disso, segue boas práticas de arquitetura, utilizando Design Patterns organizados em:

config/, controller/, middleware/, repositories/, routes/, services/, tests/, types/.

Node.js TypeScript Express JWT Bcrypt Swagger Docker

Features

  • Login e Registro de usuário com JWT
  • Hash de senha com bcrypt
  • CRUD completo de usuários
  • Estrutura escalável e organizada por camadas
  • Arquitetura baseada em boas práticas (Clean Architecture inspired)
  • Testes automatizados
  • Documentação com Swagger

Estrutura de Pastas

src/
 ├── config/          # Configurações gerais (DB, JWT, etc)
 ├── controllers/     # Camada de controle (recebe as requests e chama os services)
 ├── middleware/      # Middlewares (auth, error handler, etc)
 ├── repositories/    # Comunicação com banco de dados
 ├── routes/          # Definição das rotas da API
 ├── services/        # Regras de negócio
 ├── tests/           # Testes automatizados
 ├── types/           # Tipagens globais e DTOs
 ├── index.ts           # Configuração da aplicação
 └── server.ts        # Ponto de entrada

Tecnologias Utilizadas

  • Node.js + TypeScript
  • Express
  • JWT (jsonwebtoken)
  • Bcrypt (hash de senha)
  • Swagger (documentação)

Como Rodar

1. Clonar o repositório

git clone https://github.com/seu-usuario/node-ts-template.git
cd node-ts-template

2. Instalar dependências

npm install

3. Configurar variáveis de ambiente

Crie um arquivo .env na raiz do projeto:

PORT=3000
JWT_SECRET=sua_chave_secreta
DB_URL=sua_string_de_conexao

4. Rodar em desenvolvimento

npm run dev

5. Rodar em produção

npm run build
npm start

Documentação da API

Acesse a documentação em:

http://localhost:3000/api-docs

Endpoints Principais

Auth

  • POST api/auth/register → Criação de usuário
  • POST api/auth/login → Login com JWT

Users

  • GET api/users → Lista usuários
  • GET api/users/:id → Busca usuário por ID
  • PUT api/users/:id → Atualiza usuário
  • DELETE api/users/:id → Remove usuário

Scripts

  • npm run dev → Rodar em dev com Nodemon
  • npm run build → Compilar TS para JS
  • npm start → Rodar em produção

Docker

  • docker-compose up → Subir docker-compose (db + api)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors