All Projects → oslabs-beta → Aqls Client

oslabs-beta / Aqls Client

Licence: mit
An intelligent full-stack GraphQL subscription and analytics module. Client-side hooks, automatic query parsing, and analytic generation.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Aqls Client

Blaze Apollo
Blaze integration for the Apollo Client
Stars: ✭ 56 (-41.05%)
Mutual labels:  graphql, apollo-client
Github Graphql React
A Github client built with React / GraphQL 💻👩‍💻💽 👨‍💻
Stars: ✭ 60 (-36.84%)
Mutual labels:  graphql, apollo-client
Starter
Opinionated SaaS quick-start with pre-built user account and organization system for full-stack application development in React, Node.js, GraphQL and PostgreSQL. Powered by PostGraphile, TypeScript, Apollo Client, Graphile Worker, Graphile Migrate, GraphQL Code Generator, Ant Design and Next.js
Stars: ✭ 1,082 (+1038.95%)
Mutual labels:  graphql, apollo-client
Apollo Angular
A fully-featured, production ready caching GraphQL client for Angular and every GraphQL server 🎁
Stars: ✭ 1,058 (+1013.68%)
Mutual labels:  graphql, apollo-client
Apollo Upload Client
A terminating Apollo Link for Apollo Client that allows FileList, File, Blob or ReactNativeFile instances within query or mutation variables and sends GraphQL multipart requests.
Stars: ✭ 1,176 (+1137.89%)
Mutual labels:  graphql, apollo-client
Apollo Invalidation Policies
An extension of the Apollo 3 cache with support for type-based invalidation policies.
Stars: ✭ 55 (-42.11%)
Mutual labels:  graphql, apollo-client
Guide To Graphql
A Frontend Developer's Guide to GraphQL (Fluent Conf 2018)
Stars: ✭ 59 (-37.89%)
Mutual labels:  graphql, apollo-client
Crypto Grommet
Crypto and equities app
Stars: ✭ 39 (-58.95%)
Mutual labels:  graphql, apollo-client
Apollo Cache Invalidation
Experimental cache invalidation tools for Apollo.
Stars: ✭ 66 (-30.53%)
Mutual labels:  graphql, apollo-client
Artemis Dev Tool
An Apollo GraphQL Query Schema Testing Tool
Stars: ✭ 66 (-30.53%)
Mutual labels:  graphql, apollo-client
Githunt React
[DEPRECATED] 🔃 An example app frontend built with Apollo Client and React
Stars: ✭ 1,036 (+990.53%)
Mutual labels:  graphql, apollo-client
Realm Graphql
GraphQL client for Realm Object Server
Stars: ✭ 79 (-16.84%)
Mutual labels:  graphql, apollo-client
Fullstack Tutorial
🚀 The Apollo platform tutorial app
Stars: ✭ 1,007 (+960%)
Mutual labels:  graphql, apollo-client
A Pop
🎶 HD Music Streaming and Sharing Web App
Stars: ✭ 55 (-42.11%)
Mutual labels:  graphql, apollo-client
Persistgraphql Webpack Plugin
PersistGraphQL Webpack Plugin
Stars: ✭ 39 (-58.95%)
Mutual labels:  graphql, apollo-client
Graphql Apollo Next.js
A server-rendering GraphQL client with Apollo Client and Next.js
Stars: ✭ 59 (-37.89%)
Mutual labels:  graphql, apollo-client
Link state demo
🚀 Demonstrate how to support multiple stores in Apollo Link State
Stars: ✭ 30 (-68.42%)
Mutual labels:  graphql, apollo-client
React Boilerplate
⚛ The stable base upon which we build our React projects at Mirego.
Stars: ✭ 39 (-58.95%)
Mutual labels:  graphql, apollo-client
Cynthesize Frontend
Frontend written in Angular 7 and deployed GraphQL for Cynthesize. Development build: https://cynthesize-develop.netlify.com
Stars: ✭ 65 (-31.58%)
Mutual labels:  graphql, apollo-client
Apollo Client Devtools
Apollo Client browser developer tools.
Stars: ✭ 1,210 (+1173.68%)
Mutual labels:  graphql, apollo-client

Aqls-Client

Overview

GraphQL analytics toolkit and dashboard that integrate with Apollo Client and Apollo Server Express. It is an easy to use analytics suite that monitors GraphQL subscriptions concurrency, latency, errors, and resolver frequency. Our integrated dashboard displays your GraphQL analytics on dynamic and interactive charts.

This package is for setting up your client-side. For the server-side package please refer to the Aqls-server package.

Note: Aqls is currently in BETA and improvements will continue to be implemented. If any issues are encountered while using our application, please submit a PR.

Requirements

  • React version 16.8+
  • apollo-client version 3.2.1+

Install

With npm:

npm install --save @aqls/client

Tracking GraphQL Subscriptions

  • [ ] 1. Import useqAqlSubscription:
import { useAqlSubscription } from '@aqls/client';

  • [ ] 2. Include aql in GraphQL query:
const colorSubscription = gql`
    subscription {
      updatedColor {
        cssColor
        aql {
          mutationSendTime
          mutationReceived
          subscriberReceived
          mutationId
          resolver
          userToken
        }
      }
    }
  `;

  • [ ] 3. Invoke useAqlSubscription hook:
 const { data, loading, error } = useAqlSubscription(
    graphQLQuery,
    { optionsObject },
    subscriptionResolver,
  );

Note: optionsObject accepts any options available in the Apollo-client useSubscription hook

useAqlSubscription hook example:

 const { data, loading, error } = useAqlSubscription(
    colorSubscription,
    {
      onSubscriptionData: (client) => {
        setColor(client.subscriptionData.data.updatedColor.cssColor);
      },
    },
    'updatedColor',
  );

Tracking GraphQL Mutations

  • [ ] 1. Import useqAqlMutation:
import { useAqlMutation } from '@aqls/client';

  • [ ] 2. Invoke useAqlMutation hook:
useAqlMutation(query)

This hook takes a GraphQL query and automatically injects analytics into it. You can use .then() if you want to access async functionality. Below is an example using the hook as part of a click handler.

const handleClick = (chosenColor) => {
    const colorQuery = `mutation{newColor(colorArg: "${chosenColor}"){id cssColor}}`;
    useAqlMutation(colorQuery)
      .then((data) =>
        setColor(data.chosenColor)
      )
      .catch((err) => setError(err));

  • [ ] Lastly, Connect with the Aqls Team!

Visit our website: Aqls.io

Contact us: [email protected]

Case Simmons: Case's Github and Case's LinkedIn

Julie Pinchak: Julie's Github and Julie's LinkedIn

Michael O'Halloran: Michael's Github and Michael's LinkedIn

Rocio Infante: Rocio's Github and Rocio's LinkedIn

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