Este projeto de aula, uma API para um blog pessoal, desenvolvida com o framework NestJS. A API permite a criação, leitura, atualização e exclusão de postagens, bem como o gerenciamento de temas (categorias) e usuários. A autenticação é baseada em JSON Web Tokens (JWT), e a API é documentada com Swagger.
- Framework: NestJS
- Linguagem: TypeScript
- Banco de Dados: TypeORM com suporte para MySQL, PostgreSQL e SQLite
- Autenticação: Passport.js com estratégias JWT e local
- Documentação da API: Swagger
- Validação de Dados: class-validator e class-transformer
- Testes: Jest
- Linting e Formatação: ESLint e Prettier
O projeto é organizado em módulos, cada um com sua própria responsabilidade:
AppModule: O módulo raiz da aplicação.AuthModule: Responsável pela autenticação e autorização dos usuários.UsuarioModule: Gerencia as operações de CRUD (Criar, Ler, Atualizar, Deletar) para os usuários.PostagemModule: Gerencia as operações de CRUD para as postagens do blog.TemaModule: Gerencia as operações de CRUD para os temas (categorias) das postagens.DataModule: Módulo responsável pela configuração e conexão com o banco de dados.
-
Clone o repositório:
git clone <url-do-repositorio> cd <nome-do-diretorio>
-
Instale as dependências:
npm install
-
Execute o projeto:
-
Modo de desenvolvimento:
npm run start:dev
-
Modo de produção:
npm run start:prod
-
A documentação da API é gerada automaticamente com o Swagger e pode ser acessada em:
Para executar os testes, utilize os seguintes comandos:
-
Testes unitários:
npm run test -
Testes end-to-end (e2e):
npm run test:e2e