All Projects → kamilkisiela → Loona

kamilkisiela / Loona

Licence: mit
🌕 Application State Management done with GraphQL

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Loona

Apollo Opentracing
Performance trace your Apollo GraphQL server with Opentracing
Stars: ✭ 154 (-42.96%)
Mutual labels:  graphql, apollographql
temperjs
State management for React, made simple.
Stars: ✭ 15 (-94.44%)
Mutual labels:  flux, state-management
Graphql Normalizr
Normalize GraphQL responses for persisting in the client cache/state
Stars: ✭ 175 (-35.19%)
Mutual labels:  graphql, state-management
Githunt Angular
An Apollo with Angular full-stack example app: vote for your favorite GitHub repos!
Stars: ✭ 144 (-46.67%)
Mutual labels:  graphql, apollographql
RxReduxK
Micro-framework for Redux implemented in Kotlin
Stars: ✭ 65 (-75.93%)
Mutual labels:  flux, state-management
Apollo Server
🌍  Spec-compliant and production ready JavaScript GraphQL server that lets you develop in a schema-first way. Built for Express, Connect, Hapi, Koa, and more.
Stars: ✭ 12,145 (+4398.15%)
Mutual labels:  graphql, apollographql
Apollo Android
🤖  A strongly-typed, caching GraphQL client for the JVM, Android, and Kotlin multiplatform.
Stars: ✭ 2,949 (+992.22%)
Mutual labels:  graphql, apollographql
Graphql Codegen Hasura
code-generator plugins for hasura/apollo-gql/typescript development
Stars: ✭ 113 (-58.15%)
Mutual labels:  graphql, apollographql
vuex-but-for-react
A state management library for React, heavily inspired by vuex
Stars: ✭ 96 (-64.44%)
Mutual labels:  flux, state-management
react-evoke
Straightforward action-driven state management for straightforward apps built with Suspense
Stars: ✭ 15 (-94.44%)
Mutual labels:  flux, state-management
Apollo Federation Ruby
A Ruby implementation of Apollo Federation
Stars: ✭ 131 (-51.48%)
Mutual labels:  graphql, apollographql
litestate
An ambitiously tiny, gizp ~800b, flux-like library to manage your state
Stars: ✭ 31 (-88.52%)
Mutual labels:  flux, state-management
Apollo2 Subscriptions How To
Apollo Server 2 how to setup subscriptions
Stars: ✭ 125 (-53.7%)
Mutual labels:  graphql, apollographql
Graphql Kafka Subscriptions
Apollo graphql subscriptions over Kafka protocol
Stars: ✭ 154 (-42.96%)
Mutual labels:  graphql, apollographql
React Graphql Github Apollo
🚀 A React + Apollo + GraphQL GitHub Client. Your opportunity to learn about these technologies in a real world application.
Stars: ✭ 1,563 (+478.89%)
Mutual labels:  graphql, apollographql
Gramps Legacy
The core data source combination engine of GrAMPS.
Stars: ✭ 198 (-26.67%)
Mutual labels:  graphql, apollographql
Booben
Web app constructor based on React, with GraphQL bindings
Stars: ✭ 96 (-64.44%)
Mutual labels:  graphql, apollographql
React Fullstack Graphql
Starter projects for fullstack applications based on React & GraphQL.
Stars: ✭ 1,352 (+400.74%)
Mutual labels:  graphql, apollographql
mutable
State containers with dirty checking and more
Stars: ✭ 32 (-88.15%)
Mutual labels:  flux, state-management
Vuex-Alt
An alternative approach to Vuex helpers for accessing state, getters and actions that doesn't rely on string constants.
Stars: ✭ 15 (-94.44%)
Mutual labels:  flux, state-management

Loona

CircleCI Join the community on Spectrum

Loona is a state management library built on top of Apollo Client. It brings the simplicity of managing remote data with Apollo, to your local state. Instead of maintaining a second store for your local data with tools like Redux, MobX or NGRX, use Loona to keep data in just one space and make it a single source of truth.

With Loona you get all the benefits of Apollo, like caching, offline persistence and more. On top of that you gain all the other benefits like stream of actions, better sepatation between mutation and store updates.

UI Frameworks

Loona works with React and Angular:

Documentation

All of the documentation for Loona including usage articles and helpful recipes lives on loonajs.com.

Read about Loona

Features

  • Single store - Keep your remote and local data in just one space and make it a single source of truth.
  • Separation of concerns - Loona helps you to keep every piece of your data flow separated.
  • Benefits of Apollo - You get all the benefits of Apollo, like caching, offline persistence and more.
  • Works on Mobile - Works out of the box with React Native and NativeScript.

Concept

Loona can be described by few core concepts. First two of them are related to GraphQL:

  • Queries - ask for what you need.
  • Mutations - a way to modify your remote and local data.
  • Store - a single source of truth of all your data.

It also uses a concept of:

  • Actions - declarative way to call a mutation or trigger a different action
  • Updates - modify the store after a mutation happens

By having it all, Loona helps you to keep every piece of your data's flow separated.


Contributing

This project uses Lerna.

Bootstraping:

yarn install

Running tests locally:

yarn test

Formatting code:

yarn format

This project uses TypeScript for static typing. You can get it built into your editor with no configuration by opening this project in Visual Studio Code, an open source IDE which is available for free on all platforms.

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