MFritzN / BoolTool-Reloaded

Tool for showing multiple representations of a boolean formula as well as checking the adequacy of a set of functions. Bachelor Thesis.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BoolTool-Reloaded

Tool for showing multiple representations of a boolean formula as well as checking the adequacy of a set of functions. Main part of a bachelor thesis project at the University of Innsbruck. Please also refer to the thesis for documentation.

This tool uses create-elm-app for a dev Server and compilation.

Setup

For compilation, this project requires elm to be installed. See: Installation Guide

A few node modules are required to run this application. Install them with:

npm install

Before the first start and after each css alteration, you need to run:

npm run watch-css

To run a development server run elm-app start in the top directory.

To compile the project to browser ready HTML, run: elm-app build

Setup Issues

  • error:0308010C:digital envelope routines::unsupported

    create-elm-app uses an old webpack version that is no longer supported by Node. See Issue #604. This problem can be avoided by either:

    • setting the global Node variable export NODE_OPTIONS=--openssl-legacy-provider
    • using a Node Version < 17

Tests

The tests are implemented with elm test. You can execute them with a test runner which requires node.js. I use node test runner to run my tests. Install it with npm install --save-dev elm-test and execute tests in the test folder by using npx elm-test.

Formatting

The code is formatted with elm-format.

Deployment

elm-app build gives you a deployable app in the build directory. If the app is not hosted at the server root, you need to set the environment variable ELM_APP_BASE_URL in .env to your the URL your website will be on, e.g.:

ELM_APP_BASE_URL="https://mfritzn.github.io/BoolTool-Reloaded"

This environment variable is used by create-elm-app to assign the correct paths for resources as well as our app for routing and link sharing.

Please also refer to the create-elm-app documentary which describes the deployment process on multiple platforms.

About

Tool for showing multiple representations of a boolean formula as well as checking the adequacy of a set of functions. Bachelor Thesis.


Languages

Language:Elm 92.4%Language:JavaScript 5.8%Language:SCSS 0.7%Language:HTML 0.7%Language:CSS 0.4%