kamilkisiela / loona

🌕 Application State Management done with GraphQL
https://loonajs.com
MIT License
265 stars 14 forks source link
angular apollographql flux graphql loona react redux state-management typescript

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

Concept

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

It also uses a concept of:

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.