Este projeto foi desenvolvido com o intuito de aprender e praticar a construĆ§Ć£o de uma API usando NestJS e GraphQL. O foco do projeto foi implementar operaƧƵes CRUD (Create, Read, Update, Delete) para gerenciar usuĆ”rios, garantindo boas prĆ”ticas de seguranƧa e organizaĆ§Ć£o do cĆ³digo.
- NestJS: Um framework para construir aplicaƧƵes Node.js escalƔveis e eficientes.
- GraphQL: Uma linguagem de consulta para APIs que permite solicitar exatamente os dados necessƔrios.
- TypeORM: Um ORM (Object-Relational Mapping) que facilita a interaĆ§Ć£o com o banco de dados.
- SQLite: Um banco de dados relacional leve e auto-contido.
- bcrypt: Uma biblioteca para criptografar senhas de forma segura.
- Apollo Studio: Uma plataforma para gerenciar e monitorar APIs GraphQL.
O endpoint para criaĆ§Ć£o de usuĆ”rio permite adicionar um novo usuĆ”rio ao banco de dados. A senha Ć© criptografada antes de ser armazenada para garantir a seguranƧa dos dados.
Exemplo de MutaĆ§Ć£o:
O endpoint de listagem retorna todos os usuĆ”rios cadastrados no banco de dados, mostrando informaƧƵes como ID, nome, email, e datas de criaĆ§Ć£o e atualizaĆ§Ć£o.
Exemplo de Query:
O endpoint de ediĆ§Ć£o permite atualizar as informaƧƵes de um usuĆ”rio existente. Caso a senha seja alterada, ela Ć© novamente criptografada antes de ser armazenada.
Exemplo de MutaĆ§Ć£o:
O endpoint de deleĆ§Ć£o permite remover um usuĆ”rio do banco de dados com base no seu ID.