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/.
- 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
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
- Node.js + TypeScript
- Express
- JWT (jsonwebtoken)
- Bcrypt (hash de senha)
- Swagger (documentação)
git clone https://github.com/seu-usuario/node-ts-template.git
cd node-ts-templatenpm installCrie um arquivo .env na raiz do projeto:
PORT=3000
JWT_SECRET=sua_chave_secreta
DB_URL=sua_string_de_conexaonpm run devnpm run build
npm startAcesse a documentação em:
http://localhost:3000/api-docs
POST api/auth/register→ Criação de usuárioPOST api/auth/login→ Login com JWT
GET api/users→ Lista usuáriosGET api/users/:id→ Busca usuário por IDPUT api/users/:id→ Atualiza usuárioDELETE api/users/:id→ Remove usuário
npm run dev→ Rodar em dev com Nodemonnpm run build→ Compilar TS para JSnpm start→ Rodar em produção
docker-compose up→ Subir docker-compose (db + api)