Skip to content

weslleymirandadev/learning-nest

Repository files navigation

Learning NestJS

Uma aplicação backend desenvolvida com NestJS, Prisma e PostgreSQL para gerenciamento de usuários e autenticação JWT.

Tecnologias

  • TypeScript - Linguagem de programação
  • NestJS - Framework Node.js para aplicações escaláveis
  • Prisma - ORM moderno para TypeScript e Node.js
  • PostgreSQL - Banco de dados relacional
  • JWT - Autenticação baseada em tokens
  • bcrypt - Hash de senhas
  • Vitest - Framework de testes

Estrutura do Projeto

src/
├── auth/                 # Módulo de autenticação
│   ├── auth.controller.ts
│   ├── auth.service.ts
│   ├── dto/
│   ├── guards/
│   └── strategy/
├── user/                 # Módulo de usuários
├── bookmark/             # Módulo de bookmarks
├── prisma/               # Configuração do Prisma
└── main.ts

Instalação

# Instalar dependências
npm install

# Configurar variáveis de ambiente
cp .env.example .env

# Executar migrações do banco
npx prisma migrate dev

# Gerar cliente Prisma
npx prisma generate

Configuração

Crie um arquivo .env com as seguintes variáveis:

DATABASE_URL="postgresql://user:password@localhost:5432/database"
JWT_SECRET="your-secret-key"

Executando o Projeto

# Desenvolvimento
npm run start:dev

# Produção
npm run start:prod

# Debug
npm run start:debug

Testes

# Testes unitários
npm run test

# Testes em modo watch
npm run test:watch

# Testes com cobertura
npm run test:coverage

# Testes end-to-end
npm run test:e2e

Endpoints

Autenticação

  • POST /auth/signup - Cadastro de usuário
  • POST /auth/signin - Login de usuário

Usuários

  • GET /users/me - Obter dados do usuário autenticado

Scripts Disponíveis

  • npm run build - Build da aplicação
  • npm run start - Iniciar aplicação
  • npm run start:dev - Modo desenvolvimento
  • npm run test - Executar testes
  • npm run test:coverage - Cobertura de testes

Licença

Este projeto está sob a licença MIT.

About

App que fiz para aprender sobre Nest.js

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors