All Projects → oslabs-beta → Quell

oslabs-beta / Quell

Licence: MIT license
Quell is an easy-to-use, lightweight JavaScript library providing a client- and server-side caching solution for GraphQL. Use Quell to prevent redundant client-side API requests and to minimize costly server-side response latency.

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
SCSS
7915 projects
HTML
75241 projects

Projects that are alternatives of or similar to Quell

Quell
Quell is an easy-to-use, lightweight JavaScript library providing a client- and server-side caching solution for GraphQL. Use Quell to prevent redundant client-side API requests and to minimize costly server-side response latency.
Stars: ✭ 90 (-80.97%)
Mutual labels:  caching, client-side, server-side
PENDOWN
Text-to-HTML conversion tool for web writers, with integrated styling and tag customization.
Stars: ✭ 33 (-93.02%)
Mutual labels:  client-side, server-side
AndroidFlask
Image Upload from Android to Python-Based Flask Server
Stars: ✭ 45 (-90.49%)
Mutual labels:  client-side, server-side
json-as-xlsx
Create excel from json npm package
Stars: ✭ 103 (-78.22%)
Mutual labels:  client-side, server-side
prototyped.js
Some common Typescript prototypes
Stars: ✭ 22 (-95.35%)
Mutual labels:  client-side, server-side
showroom
Universal development and automated test environment for web components
Stars: ✭ 89 (-81.18%)
Mutual labels:  client-side, server-side
react-strap-table
react table (client and server-side) based on bootstrap.
Stars: ✭ 28 (-94.08%)
Mutual labels:  client-side, server-side
Logbook
An extensible Java library for HTTP request and response logging
Stars: ✭ 822 (+73.78%)
Mutual labels:  client-side, server-side
Protoo
Minimalist and extensible Node.js signaling framework for multi-party Real-Time applications
Stars: ✭ 109 (-76.96%)
Mutual labels:  client-side, server-side
Pike
HTTP cache server, such as varnish
Stars: ✭ 155 (-67.23%)
Mutual labels:  caching
Scaffeine
Thin Scala wrapper for Caffeine (https://github.com/ben-manes/caffeine)
Stars: ✭ 195 (-58.77%)
Mutual labels:  caching
Mvcdonutcaching
ASP.NET MVC Extensible Donut Caching brings donut caching to ASP.NET MVC 3 and later. The code allows you to cache all of your page apart from one or more Html.Actions which can be executed every request. Perfect for user specific content.
Stars: ✭ 146 (-69.13%)
Mutual labels:  caching
Cachemanager
CacheManager is an open source caching abstraction layer for .NET written in C#. It supports various cache providers and implements many advanced features.
Stars: ✭ 2,049 (+333.19%)
Mutual labels:  caching
Stash
Stash allows you to stash text and snippets of code for reuse throughout your templates.
Stars: ✭ 198 (-58.14%)
Mutual labels:  caching
Libcache
A Lightweight in-memory key:value cache library for Go.
Stars: ✭ 152 (-67.86%)
Mutual labels:  caching
Varnish Cache
Varnish Cache source code repository
Stars: ✭ 2,769 (+485.41%)
Mutual labels:  caching
Nuster
A high performance HTTP proxy cache server and RESTful NoSQL cache server based on HAProxy
Stars: ✭ 1,825 (+285.84%)
Mutual labels:  caching
Ngx Cache
Cache utility for Angular
Stars: ✭ 144 (-69.56%)
Mutual labels:  caching
Cacheout
A caching library for Python
Stars: ✭ 238 (-49.68%)
Mutual labels:  caching
Crafatar
A blazing fast API for Minecraft faces
Stars: ✭ 212 (-55.18%)
Mutual labels:  caching

License: MIT contributions welcome

Quell

Quell is an easy-to-use, lightweight JavaScript library providing a client- and server-side caching solution and cache invalidation for GraphQL.

JavaScript NodeJS Express.js TypeScript Jest Testing-Library Redis GraphQL React Postgres MySQL MongoDB

Installation

Quell-Client and Quell-Server

Quell is divided into two npm packages:

  • Download @quell/client from npm in your terminal with npm i @quell/client
  • Download @quell/server from npm in your terminal with npm i @quell/server

Features

  • IP-Rate Limiting to protect your server.
  • Successfully handling cache mutations with cache invalidation.
  • Quell/server offers optional depth and cost limiting middleware to protect your GraphQL endpoint! To use, please explore the @quell/server readme.
  • Server-side cache now caches entire queries in instances where it is unable to cache individual datapoints.
  • Client-side caching utilizing LokiJS.
  • Server-side caching utilizing a configurable Redis in-memory data store with batching.
  • Partial and exact match query caching.
  • Programmatic rebuilding of GraphQL queries to fetch only the minimum data necessary to complete the response based upon current cache contents.
  • A easy-to-use Chrome Developer Tools extension designed for Quell users. With this extension, users can:
    • Inspect and monitor the latency of client-side GraphQL/Quell requests.
    • Make and monitor the latency of GraphQL/Quell requests to a specified server endpoint.
    • View server-side cache data and contents, with the ability to manually clear the cache
    • Features require zero-to-minimal configuration and can work independently of @quell/client and @quell/server

Demo

The first bar represents an uncached client-side query and the second and third bars represent the response time of a cached request (0 ms).

A demonstration of how Quell can be implemented to protect against costly network requests.

Try Quell out here

Usage Notes

  • Currently, Quell can cache 1) query-type requests without variables or directives and 2) mutation-type requests (add, update, and delete) with cache invalidation implemented. Quell will still process other requests, but will not cache the responses.

Quell Developer Tool

Quell Developer Tool is currently available as a Chrome Developer Tools extension. The easiest way to get it is to add it from the Chrome Web Store.

Documentation

Contribute to Quell

Interested in making a contribution to Quell? Find our open-source contribution guidelines here. Please feel free to also review the larger future direction for Quell in the Client and Server readme's.

Thank you for your interest and support!

-Team Quell

Quell Contributors

Accelerated by OS Labs and developed by Angelo Chengcuenca, Emily Hoang, Keely Timms, Yusuf Bhaiyat, Hannah Spencer, Garik Asplund, Katie Sandfort, Sarah Cynn, Rylan Wessel, Alex Martinez, Cera Barrow, Jackie He, Zoe Harper, David Lopez, Sercan Tuna, Idan Michael, Tom Pryor, Chang Cai, Robert Howton, Joshua Jordan, Jinhee Choi, Nayan Parmar, Tashrif Sanil, Tim Frenzel, Robleh Farah, Angela Franco, Ken Litton, Thomas Reeder, Andrei Cabrera, Dasha Kondratenko, Derek Sirola, Xiao Yu Omeara, Nick Kruckenberg, Mike Lauri, Rob Nobile and Justin Jaeger.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].