Checkout Microstates.js Project if you haven't already.
This application is an example of using Microstates to build State Machines. This is one of the popular examples of state machines but it adds a small Microstaty twist. It shows how you an compose state machines and transition state one state machine based on another.
In this example, has TrafficLight state machine and a Person state machine. When the traffic light is red, the pedastrian stands and waits, runs when it's yellow and walks when it's green. Both state machines are composed into an Intersection state machine.
The file structure has /src/states
directory where all of the state machines and their tests are. /src/components
directory has components for rendering the state machines. The state machines are brought to live by an Interval component which calls Intersection's tick transition every minute.
- Clone this repo
git clone git@github.com:microstates/trafficlight.git
- Install npm dependencies with
yarn
ornpm install
yarn start
ornpm start
to start the server
You can run tests with yarn test
or npm test
.
PRs and Questions are welcome.