Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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. ššŖ¼
- Host: GitHub
- URL: https://github.com/luanaraujo5/crud-nestjs-graphql
- Owner: luanaraujo5
- Created: 2024-09-06T22:11:55.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-09-20T00:11:33.000Z (4 months ago)
- Last Synced: 2024-11-07T13:15:43.331Z (2 months ago)
- Topics: graphql, jwt-authentication, nestjs
- Language: TypeScript
- Homepage: https://crud-nestjs-graphql.onrender.com/graphql
- Size: 1.38 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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)