unirakun / k-ramel

State manager for your components apps, the safe and easy way
MIT License
21 stars 5 forks source link
async drivers hot listeners nantes reactions redux side-effects state state-management thunk

k-ramel

State manager for your app components, the safe and easy way.

CircleCI Coverage Status NPM Version Greenkeeper badge

Why should you give it a try? 🤔

Because k-ramel:

Table of content

Migrating

Hey! If you come from an early version of k-ramel and want to upgrade, you can read this migration guide 💎

Modules and libs

packages description  documentation  gziped size
k-ramel core package documentation [Size]()
@k-ramel/react ReactJS connector documentation [Size]()
@k-ramel/driver-http fetch wrapper documentation [Size]()
@k-ramel/driver-form minimalist form handler documentation [Size]()
@k-ramel/driver-redux-form redux-form wrapper documentation [Size]()
k-redux-router Redux router (one route === one code) documentation

⚠️Note that some packages have dependencies:

Getting started

This getting started helps you to understand how to do things like that!

const listeners = [
  // when the user clicked on "add a todo" button
  // we ask the API to add a new todo (the title is hardcoded for simplicity here)
  when('@@ui/ADD_TODO>CLICKED')((action, store, drivers) => {
    drivers.http('TODO').post(
      'https://todo-backend-modern-js.herokuapp.com/todos',
      {
        title: 'Yo! I am a new todo!',
      },
    )
  }),
  // when the API responds (not in error),
  // we add the new todo returned by the API in the store
  when('@@http/TODO>POST>ENDED')((action, store) => {
    store.todos.add(action.payload)
  }),
  // when a new todo is added to the store
  // we log a message :)
  when('@@krf/ADD>TODOS')(() => {
    console.log('A todo is added!')
  }),
]

Ecosystem

You can pick some modules based on your usage, or even write your own. \ The modules that are supported by k-ramel are listed here. \ We add modules when we need them but feel free to open PR if you want to add your own.

Modules can be :

How to use k-ramel

k-ramel is a data store that allows you to listen to event and then react to it. In a reaction you can access:

Then if you connect an UI to k-ramel, via connectors, it can be refreshed each time the store is updated.

You can find documentation about each part of k-ramel there:

Examples

Contributors

Known users

Deprecated modules

packages description  documentation last version  why
@k-ramel/driver-redux-little-router redux-little-router wrapper documentation 1.2.0 redux-little-router is deprecated

About uni rakun

uni rakun is created by two passionate french developers.

Do you want to contact them? Go to their website

Guillaume CRESPEL Fabien JUIF