putuwaw / dfa-minimization

DFA Minimization using Table Filling Method

Home Page:dfa-minimization.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DFA-MINIMIZATION

Python Flask Bootstrap Heroku Docker Forks Contributors Stars

DFA-Minimization is a website to minimize DFA using Table Filling Method.

FeaturesπŸ’‘

By using DFA-Minimization you can:

  • Minimize DFA using Table Filling Method.
  • Get description (transition diagram, transition table, and detailed description) of DFA before minimization.
  • Get description (transition diagram, transition table, and detailed description) of DFA after minimization.

Technology πŸ‘¨β€πŸ’»

DFA-Minimization is created using:

  • Python - Python as the main programming language.
  • Flask - Flask is a web framework for Python, based on the Werkzeug toolkit.
  • PyScript - PyScript is a framework that allows to create rich Python applications in the browser.
  • Bootstrap - Bootstrap is a front-end framework that allows for the creation of easy and responsive web layouts.
  • Heroku - Heroku is a platform as a service (PaaS) that we use to deploy our apps.
  • Docker - Docker is a platform for developing, shipping, and running our applications.

Structure πŸ“‚

DFA-Minimization
β”œβ”€β”€ .github
β”œβ”€β”€ handlers
β”œβ”€β”€ docs
β”œβ”€β”€ modules
β”œβ”€β”€ static
β”‚   β”œβ”€β”€ images
β”‚   β”œβ”€β”€ scripts
β”‚   └── styles
β”œβ”€β”€ templates
β”œβ”€β”€ tests
β”œβ”€β”€ .gitignore
β”œβ”€β”€ Dockerfile
β”œβ”€β”€ LICENSE
β”œβ”€β”€ Procfile
β”œβ”€β”€ README.md
β”œβ”€β”€ app.py
└── requirements.txt
  • .github is a folder that used to place Github related stuff, like issue template and CI pipeline.
  • handlers contain handler to handling HTTP request methods, especially POST method.
  • docs contain documentation of this app.
  • modules contain the main modules for minimizing DFA using Table Filling Method.
  • static contain static files like images, CSS, and JavaScript files.
  • templates contain the file that will be rendered for display in the browser.
  • tests contain unit test to make sure the main module work properly.
  • .gitignore is a file to exclude some folders like venv.
  • LICENSE is a file that contains the license we use in this app.
  • Dockerfile is a file that contains all the commands to build an image.
  • Procfile is a file that specifies the commands that are executed by an Heroku app on startup.
  • README.md is the file you are reading now.
  • app.py is the main file of this app.
  • requirements.txt is a file that contains a list of dependencies used in this app.

Requirements πŸ“¦

  • Python 3.10 or later
  • Docker 20.10.17 or later
  • PyScript 2022.09.1 or later

Installation πŸ› οΈ

docker pull putuwaw/dfa-minimization
  • Run the downloaded image:
docker run -p 8000:8000 putuwaw/dfa-minimization
  • Open web browser and visit:
localhost:8000

Contributors ✨



Putu Widyantara

Kevin Moses

Antonius Ata

Yoga Laksana

About

DFA Minimization using Table Filling Method

dfa-minimization.vercel.app

License:MIT License


Languages

Language:HTML 56.3%Language:Python 42.0%Language:CSS 1.2%Language:Dockerfile 0.4%Language:Procfile 0.1%Language:JavaScript 0.0%