Este repositório contém a implementação do backend para um marketplace utilizando NestJS. O projeto está em andamento e visa fornecer uma solução robusta e escalável para o gerenciamento de um marketplace.
- Autenticação JWT: A aplicação retorna um token JWT, que é usado para autenticar e autorizar usuários nas rotas protegidas.
- Controle de Acesso Baseado em Funções (RoleGuard): Implementado um guard para verificar o papel (Role) do usuário e garantir que ele tenha permissão para realizar determinadas ações.
- Upload de Imagens: Configurado o Multer para adicionar imagens aos produtos.
- Envio de Email: Configurado o Nodemailer para enviar emails, incluindo a funcionalidade de recuperação de senha através da rota de forget.
- Decorators Personalizados: Criados decorators para Role e User.
- Testes: Realizados testes iniciais para verificar se os controllers e services estão definidos corretamente.
- Clone o repositório:
$ git clone https://github.com/seu-usuario/backend-nestjs.git
- Navegue até o diretório do projeto:
$ cd backend-nestjs - Instale as dependências:
$ npm install
Crie um arquivo .env na raiz do projeto e adicione suas variáveis de ambiente.
DB_URL=sua_url_do_banco_de_dados
JWT_SECRET=seu_segredo_jwt
DB_HOST=seu_host_smtp
DB_PORT=sua_porta_smtp
DB_NAME=nome_do_banco_de_dados
DB_USERNAME=seu_usuario_smtp
DB_PASSWORD=sua_senha_smtp# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:covAcesse a documentação da API gerada pelo Swagger em http://localhost:3000/swagger/docs.
Contribuições são bem-vindas! Por favor, siga as diretrizes no arquivo CONTRIBUTING.md.
Licença MIT.