putuwaw / etf-dfa

String Checker using Extended Transition Function for DFA

Home Page:etf-dfa.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ETF-DFA

Python HTML5 Flask Bootstrap Heroku Forks Contributors Stars

ETF-DFA is a website based string checker using Extended Transition Function for Deterministic Finite Automata.

FeaturesπŸ’‘

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.

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

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.

Structure πŸ“‚

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.

Requirements πŸ“¦

  • Python 3.10 or later
  • HTML 5 or later

Installation πŸ› οΈ

  • 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

Contributors ✨



Putu Widyantara

Kevin Moses

Antonius Ata

Yoga Laksana

About

String Checker using Extended Transition Function for DFA

etf-dfa.vercel.app

License:MIT License


Languages

Language:Python 71.8%Language:HTML 26.1%Language:JavaScript 1.0%Language:CSS 1.0%Language:Procfile 0.0%