Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/luanaraujo5/crud-nestjs-graphql

Secure API built with NestJS and GraphQL, featuring JWT authentication and a complete CRUD system for user management, ready for deployment. šŸŒ€šŸŖ¼
https://github.com/luanaraujo5/crud-nestjs-graphql

graphql jwt-authentication nestjs

Last synced: 18 days ago
JSON representation

Secure API built with NestJS and GraphQL, featuring JWT authentication and a complete CRUD system for user management, ready for deployment. šŸŒ€šŸŖ¼

Awesome Lists containing this project

README

        

# Projeto de Aprendizado com NestJS e GraphQL

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.

## Tecnologias Utilizadas

- **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.

## Funcionalidades Implementadas

### 1. CriaĆ§Ć£o de UsuĆ”rio

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**:

![CriaĆ§Ć£o de UsuĆ”rio](screenshots/image.png)

### 2. Listagem de UsuƔrios

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**:

![Listagem de UsuƔrios](screenshots/image-1.png)

### 3. EdiĆ§Ć£o de UsuĆ”rio

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**:

![EdiĆ§Ć£o de UsuĆ”rio](screenshots/image-2.png)

### 4. DeleĆ§Ć£o de UsuĆ”rio

O endpoint de deleĆ§Ć£o permite remover um usuĆ”rio do banco de dados com base no seu ID.

![DeleĆ§Ć£o de UsuĆ”rio](screenshots/image-3.png)