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 π οΈ
- Install Docker.
- Pull the image from Docker Hub:
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 |