Este projeto é uma API RESTful construída com Express.js e MongoDB. Abaixo estão as funcionalidades implementadas:
- Conexão com o MongoDB: Utiliza o
mongoosepara conectar a um banco de dados MongoDB. - Versionamento de API: Rota
/v1/usersimplementada para a versão 1 da API. - Listar usuários com paginação: Endpoint
GET /usersque retorna uma lista de usuários com suporte a paginação. - Criar novo usuário: Endpoint
POST /userspara criar um novo usuário no banco de dados. - Validação de dados: Validação de dados de entrada utilizando
express-validatore validações domongoose. - Tratamento de erros: Middleware para tratamento de erros, incluindo erros de validação e erros internos do servidor.
- Autenticação e Autorização: Implementar autenticação de usuários usando JWT e middleware para proteger rotas.
- Atualização e Exclusão de Usuários: Adicionar endpoints para atualizar (
PUT /users/:id) e excluir (DELETE /users/:id) usuários. - Validação Avançada de Dados: Usar
express-validatorpara validação e sanitização de dados de entrada. - Upload de Arquivos: Permitir upload de arquivos, como fotos de perfil, utilizando
multer. - Logs de Atividade: Registrar atividades como criação, atualização e exclusão de usuários usando
winstonoumorgan. - Documentação da API: Criar documentação interativa com
swagger-ui-expressouopenapi. - Testes Automatizados: Escrever testes para endpoints usando
jestesupertest. - Filtros e Ordenação: Adicionar filtros e ordenação na listagem de usuários.
- Sistema de Paginação Melhorado: Implementar links de navegação para facilitar a paginação.
- Deploy: Fazer o deploy do projeto em plataformas como Heroku, Vercel ou AWS.