ETF-DFA is a website based string checker using Extended Transition Function for Deterministic Finite Automata.
By using ETF-DFA you can:
- Checks whether a string is accepted by the language or not.
- Get details of the ETF process for DFA.
- Get transition diagram images of each language.
ETF-DFA is created using:
- Python - Python as the main programming language.
- HTML - HTML is the fundamental markup language for webpages.
- Flask - Flask is a web framework for Python, based on the Werkzeug toolkit.
- 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.
ETF-DFA
βββ .github
βββ docs
βββ handlers
βββ modules
βββ static
β βββ images
β βββ scripts
β βββ styles
βββ templates
βββ tests
βββ .gitignore
βββ LICENSE
βββ Procfile
βββ README.md
βββ app.py
βββ requirements.txt
- .github is a folder that used to place Github related stuff, like PR template and CI pipeline.
- docs contain documentation of this app.
- handlers contain handler to handling HTTP request methods, especially POST method.
- modules contain the main modules for each language.
- 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.
- 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.
- Python 3.10 or later
- HTML 5 or later
- Clone the repository:
git clone https://github.com/putuwaw/etf-dfa.git
- Create a virtual environment:
python -m venv venv
- Activate virtual environment:
./venv/Scripts/Activate.ps1
- Install dependencies:
pip install -r requirements.txt
- Run app:
python app.py
- Run test:
pytest
Putu Widyantara |
Kevin Moses |
Antonius Ata |
Yoga Laksana |