A place for automata
Automatarium is a modern take on the useful JFLAP, but designed with a modern user interface and quality-of-life features that were lacking in JFLAP. Currently Automatarium supports finite automata, with room to add additional functionality such as push-down automata and Turing machines in the future.
Automatarium was built by RMIT students
- Max Reid
- Thomas Dib
- Ewan Breakey
- Benji Grant
- Tim Tran
- Tomas Haddad
- Lachlan Blennerhassett
- Conor Christensen
- Jessani Linsangan
- Oliver Hale
Automatarium is a React project with a Node JS backend (that connects to a MongoDB database). We have two packages for automata simulation and jflap to automatarium file conversion.
- Clone this repository onto your local machine
- Run
yarn
to install dependencies (don't have yarn? runnpm i -g yarn
) - Optionally, set up environment variables in a
.env
file in the backend to connect to a database - Run
yarn dev
to start the dev server at http://localhost:1234
There are also other yarn commands, for example you can run yarn dev:frontend
to start the frontend without the backend (useful to test functionality without connecting a database). See package.json
for all available commands.
This project is set up using yarn workspaces. To install a new dependency, run yarn workspace <folder> add <package>
, where folder
is frontend, backend, @automatarium/simulation, or @automatarium/jflap-translator, and package
is the package you wish to add.
- Ensure dependencies are installed by running
yarn
- Run
yarn build
to build the packages, backend and frontend
Automatarium is licensed under MIT