A aplicação é um CRUD de usuários com duas operações principais: Criar o usuário e Login no banco de dados. Todas as informações devem ser salvas no MongoDB e o usuário criado deve conter os seguintes dados: “id”, “name”, “password”
-
Deve ser possível criar o usuário no banco de dados. ✔
-
Não será possível criar um novo usuário com mesmo email e nome. ✔
-
A senha deverá ser criptografada, preferencialmente usando “bcrypt” module.
-
A senha no banco deve vir com salt. Ver mais sobre ✔
-
Todas as operações de um CRUD devem estar contidas no código (create, read, update and delete)
-
Na visualização de registros no banco, deve conter dois métodos: geral (mostrar todos) e id (mostrar por id) ✔
-
O ID deve ser gerado de forma aleatória ✔
-
Ao criar o usuário, a exigência é que a senha deverá ter mais do que 8 caracteres. Senhas menores deveran retornar o status code: 400 - Invalid Request. ✔
-
Ao criar o usuário, todos os campos devem ser preenchidos. Caso não, retornar o status code: 400 - Invalid Request. ✔.
-
O usuário deve ser capaz de se logar. Os dados requeridos são email e password, e casa haja de erro de um ou de ambos deverá ser retornado o status code: 400 - Invalid Request. ✔
-
Seria interessante, mas não obrigatório adição de testes nos controllers com o Jest...
- Node v.20.12.1
- TypeScript 5.5.3
- Nodemon 3.1.4
- Express 4.19.2
- Jest 29.7.0
- Insomnia
Clone o projeto
git clone https://github.com/samuelribeiroo/lab-node.git
Inicialize o repositório
cd users-api
Instale as dependências
npm install
Inicie o servidor
npm start