Esta API gerencia produtos e categorias, oferecendo operações CRUD protegidas por autenticação JWT.
- NestJS: Framework Node.js modular e escalável, com suporte a TypeScript.
- TypeORM: ORM para manipulação de bancos de dados relacionais com entidades e repositórios.
- MySQL: Banco de dados relacional, confiável e amplamente utilizado.
- Passport.js: Middleware de autenticação com suporte a JWT.
- Bcrypt: Biblioteca para hash seguro de senhas.
- Multer: Middleware para manipulação de upload de arquivos.
- Dotenv: Carrega variáveis de ambiente de um arquivo
.env
para a aplicação. - Prettier: Ferramenta para formatação de código consistente.
@nestjs/common
: ^10.0.0@nestjs/core
: ^10.0.0@nestjs/jwt
: ^10.2.0@nestjs/passport
: ^10.0.3@nestjs/swagger
: ^7.4.0@nestjs/typeorm
: ^10.0.2mysql2
: ^3.11.0passport
: ^0.7.0passport-jwt
: ^4.0.1bcrypt
: ^5.1.1multer
: ^1.4.5-lts.1dotenv
: ^16.4.5swagger-ui-express
: ^5.0.1typeorm
: ^0.3.20
@nestjs/cli
: ^10.0.0@types/express
: ^4.17.17@types/jest
: ^29.5.2jest
: ^29.5.0supertest
: ^7.0.0ts-node
: ^10.9.1prettier
: ^3.0.0eslint
: ^8.42.0typescript
: ^5.1.3
- MySQL instalado localmente
- Docker (opcional)
-
Clone o repositório:
git clone <URL_DO_REPOSITORIO> cd <NOME_DA_PASTA>
-
Instale as dependências:
yarn install
-
Configure o banco de dados:
- Crie um banco MySQL chamado
irede_produtos
. - Defina as credenciais no arquivo
.env
com as variáveis de ambiente (utilizando odotenv
). - Tem um .env.example !!!
- Crie um banco MySQL chamado
-
Inicie a aplicação:
yarn start
-
Suba os serviços com Docker Compose:
docker-compose up --build
Isso iniciará a API e o MySQL em containers.
A documentação completa da API está disponível em http://localhost:3000/api (Swagger), onde você encontrará detalhes de todos os endpoints.
- Registro: Use o endpoint
/auth/register
para criar uma conta. - Login: Após o registro, faça login em
/auth/login
para receber um token JWT. - Testar endpoints: Use o token JWT nos outros endpoints protegidos.