https://github.com/oslabs-beta/qlutch
A lightweight caching solution for graphQL APIs
https://github.com/oslabs-beta/qlutch
caching express-js graphql javascript jest metrics mongodb react redis
Last synced: about 2 months ago
JSON representation
A lightweight caching solution for graphQL APIs
- Host: GitHub
- URL: https://github.com/oslabs-beta/qlutch
- Owner: oslabs-beta
- License: mit
- Created: 2023-08-18T01:27:36.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-10T01:51:03.000Z (over 1 year ago)
- Last Synced: 2024-11-12T16:02:43.611Z (7 months ago)
- Topics: caching, express-js, graphql, javascript, jest, metrics, mongodb, react, redis
- Language: JavaScript
- Homepage: http://www.qlutch.dev
- Size: 8.82 MB
- Stars: 54
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# QLutch

A lightweight caching solution for graphQL APIs that interfaces with Redis for high-speed data retrieval, combined with performance visualization.









____
# Features
- Redis cache integration for graphQL queries and *Create* mutations.
- Performance monitor.
## Dashboard Visualizer
# Usage Notes
- Caching support for Update and Delete mutations is not yet implemented.# Installation
- User creates application and installs qlutch dependency via [npm](https://www.npmjs.com/package/qlutch) (npm install qlutch)
- Set up Redis database in application
- Require qlutch and Redis in server file
- For the dashboard visualizer, add express static path to node modules:

- For the dashboard visualizer, add a dashboard endpoint with a path to the qlutch dist index file:

- Need two endpoints – one for qlutch and one for graphql. Install qlutch as middleware in qlutch endpoint – pass in “graphql” endpoint and redis instance as arguments. User would need to return res.locals.response:

- Fetch requests on frontend will need to be made to /qlutch endpoint# Authors
- [@Michael-Weckop](https://github.com/Michael-Weckop)
- [@lrod8](https://github.com/lrod8)
- [@alroro](https://github.com/alroro)
- [@Reneeto](https://github.com/Reneeto)
# Acknowledgements
- [Charlie Charboneau](https://github.com/CharlieCharboneau)
- [Annie Blazejack](https://github.com/annieblazejack)
- [Matt Severyn](https://github.com/mtseveryn)
- [Erika Collins Reynolds](https://github.com/erikacollinsreynolds)
- [Sam Arnold](https://github.com/sam-a723)