/automata

Web Application to play with finite state machines and run algorithms on top of the finite state machines

Primary LanguageJavaScriptMIT LicenseMIT

Automata

Website Libraries.io dependency status for GitHub repo Snyk Vulnerabilities for GitHub Repo (Specific Manifest) GitHub issues GitHub

Automata playground is a web application built for playing and interacting with state machines with complete hackability and visualization of state machines algorithms.

TOC

About

Automata playground aims to simulate the creation of finite state machines and interact with the FSM with various algorithms.

It's still in early stage, lot of basic and core functionality is still incomplete, basic UI/UX is complete although. It has some quirks and many parts are not yet available.

However feel free to visit the playground and if you want to start a discussion, report bugs or propose a awesome feature, you're welcome to open a issue

My future view of this project is :

  • User can draw finite state machines and import and export in various formats (dot, json, svg, jpg, latex)
  • User can use automata algorithms over the finite state model.
  • This will help students to understand better through visualization and faculties can use this to avoid wasting time in drawing and going step-by-step explanation. The application will handle most of it.

Installation

If you want to take a tour of the web application, application is deployed for you in the playground

if you still want to run this project locally clone this repo on your local machine and run

$ cd cloned-repo/
$ npm install   // It will install all the dependencies
$ npm start     // It will launch the application on `http://localhost:3000`

If you're interested in contributing to this project please read the contribute section


Contribute

Please read CONTRIBUTING.md for details on how to contribute, and the process for submitting pull requests to us.


Code of Conduct

Please read CODE_OF_CONDUCT.md for details on our code of conduct and all contributors must adhere to code-of-conduct.


License

This project is licensed under the MIT License - see the LICENSE.md file for details


Contact

created and maintained by @nihalmurmu - feel free to contact me!