All Projects → hoop-carpool → fluxy

hoop-carpool / fluxy

Licence: MIT license
Fluxy is a Flux architecture implementation written in Kotlin.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to fluxy

Fluxxan
Fluxxan is an Android implementation of the Flux Architecture that combines concepts from both Fluxxor and Redux.
Stars: ✭ 80 (+220%)
Mutual labels:  flux, flux-architecture, android-architecture
Nanoflux
A very lightweight and dependency-free Flux implementation
Stars: ✭ 56 (+124%)
Mutual labels:  flux, flux-architecture
WeatherApp MVI sample
🌸[Functional reactive programming (FRP)] 🍁Simple Android weather forecast application written in Kotlin, using RxKotlin, Retrofit2, Mosby, Room Persistence ❄️MVI Pattern with Mosby Library
Stars: ✭ 106 (+324%)
Mutual labels:  mvi, mvi-android
Pagination-MVI-Flow
Pagination MVI Coroutines Flow. Play MVI with Kotlin Coroutines Flow | MVI pattern on Android using Kotlin Coroutines Flow | Dagger Hilt DI | SharedFlow | StateFlow
Stars: ✭ 45 (+80%)
Mutual labels:  mvi, mvi-android
universal-routed-flux-demo
The code in this repo is intended for people who want to get started building universal flux applications, with modern and exciting technologies such as Reactjs, React Router and es6.
Stars: ✭ 31 (+24%)
Mutual labels:  flux, flux-architecture
mini-kotlin
Minimal Flux architecture written in Kotlin.
Stars: ✭ 20 (-20%)
Mutual labels:  flux, android-architecture
nanoflux-fusion
Redux-like extension for Nanoflux
Stars: ✭ 15 (-40%)
Mutual labels:  flux, flux-architecture
AndroidFluxPractice
Android Flux Practice
Stars: ✭ 51 (+104%)
Mutual labels:  flux, flux-architecture
Hover
A very lightweight data store with action reducers and state change listeners.
Stars: ✭ 97 (+288%)
Mutual labels:  flux, flux-architecture
Fluxcapacitor
This is what makes the Flux design pattern possible.
Stars: ✭ 126 (+404%)
Mutual labels:  flux, flux-architecture
Goes
Go Event Sourcing made easy
Stars: ✭ 144 (+476%)
Mutual labels:  flux, flux-architecture
mini-swift
Minimal Flux architecture written in Swift.
Stars: ✭ 40 (+60%)
Mutual labels:  flux, flux-architecture
Vuex-Alt
An alternative approach to Vuex helpers for accessing state, getters and actions that doesn't rely on string constants.
Stars: ✭ 15 (-40%)
Mutual labels:  flux, flux-architecture
Delorean
An Agnostic, Complete Flux Architecture Framework
Stars: ✭ 748 (+2892%)
Mutual labels:  flux, flux-architecture
react-workshops
Online react workshops
Stars: ✭ 36 (+44%)
Mutual labels:  flux, flux-architecture
Fleur
A fully-typed, type inference and testing friendly Flux Framework
Stars: ✭ 74 (+196%)
Mutual labels:  flux, flux-architecture
redux-reducer-async
Create redux reducers for async behaviors of multiple actions.
Stars: ✭ 14 (-44%)
Mutual labels:  flux, flux-architecture
fluxiny
~1K implementation of flux architecture
Stars: ✭ 77 (+208%)
Mutual labels:  flux, flux-architecture
Smitty
Tiny flux implementation built on mitt
Stars: ✭ 210 (+740%)
Mutual labels:  flux, flux-architecture
Firedux
🔥 🐣 Firebase + Redux for ReactJS
Stars: ✭ 148 (+492%)
Mutual labels:  flux, flux-architecture

Fluxy

What it's all about

Fluxy its a flow arquitecture implementation.

Why flux?

  • Single information flow
  • Single source of truth
  • Reactivity

Where this implementation comes from

This library its created from https://github.com/minikorp/mini

But with a few diferences:

  • Full courroutines implementation
  • 0 auto gen code
  • Easy to understand the core logic

Components

Dispatcher : each time an action was dispatched give it to proper stores.

val dispatcher = Dispatcher()
dispatcher.dispatch(MyAction())

State : represents an immutable state of an application.

data class MyState(val number: String = "")

Action : define a use case, can be synchronous or an asynchronous operation

data class MyAction(val number: String) : BaseAction

Store : is a hoder for a state and has Reducer functions.

class MyStore : FluxyStore<MyState>() {

    init {
        reduce<MyAction> {
            state.copy(number = it.number)
        }
    }
}

Reducer is a pure function that takes an action and current state returning a new state.

How to install

allprojects {
    repositories {
    	maven { url "https://jitpack.io" }
    }
}
dependencies {
    implementation "com.github.hoop-carpool.fluxy:fluxy:x.y.z"  
    implementation "com.github.hoop-carpool.fluxy:timberlogger:x.y.z" // Optional default logger implementation using Timber
}
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].