This repository contains the code of a 10-week Design Science Research project, developed by students of the ICT faculty of Zuyd University of Applied Sciences.
The prime goal of this project was developing a 'tool' which would allow users to configure decision tree's (from now on called 'graphs')1. These graphs could then be used by other users to interactively support their decision-making based on the configured structure. This and many other features have been implemented.
1Formally the decision supporting charts are graphs, since multiple edges are allowed on the output as well as on the input of a node. This as opposed to trees, where each node can only have one input.
Editor-side | User-side |
---|---|
For deployment and troubleshooting it is recommended to follow Laravel 8's documentation.
However, the most significant and moreover specific configuration tasks have been documented below.
Next to Laravel 8's server requirements it is required to have one supported database which can be used by the application.
- Clone this repository
- Install composer's dependencies with
composer install
- Install npm dependencies with
npm install
- Configure the .env file in the repository.
- If the
.env
file does not exist; copy.env.example
file to.env
- If the
- Generate application key with
php artisan key:generate
Run migrations with php artisan migrate:fresh --seed
- Note: this command also executes the default database seed which includes the default node-types which can be used to construct graphs. These default types can be modified and extended in the file
database/seeders/DefaultNodeTypeSeeder.php
- Note: for demonstration purposes it is also possible to include one example graph and one test user in the seeding process. To enable this, uncomment
TestDataSeeder
in thedatabase/seeders/DatabaseSeeder.php
file
For development, the server can quickly be launched with Laravel's internal server using: php artisan serve
.
Alternatively it is possible to serve the application by using another web server like Nginx or Apache. Please refer to Laravel 8's documentation for further reference.