README.md 1.66 KB
Newer Older
Michael Vrána's avatar
Michael Vrána committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
# Algorithms Library Toolkit - WebUI

React frontend for the [Algorithms Library Toolkit](https://alt.fit.cvut.cz/).

## Requirements

-   node.js
-   npm

## Scripts

`npm install` - install dependencies

`npm start` - run app in development mode

`npm run build` - build application

`npm run doc` - generate TypeDoc documentation

`npm test` - run app tests

`npm run test:coverage` - run app tests and generate coverage report


## Development
To run an application in development mode use `npm start`.

The application needs an API server for evaluation. In development mode the API requests are proxied to http://0.0.0.0:3001 - see `proxy` in `package.json`

## Building

To make a production build use `npm run build`

## Algorithms JSON

To generate the algorithms JSON use the generator in the `algorithmsJSONGenerator` directory.

### Compiling

1. Install `g++` and `cmake`
2. Install [ALT](https://alt.fit.cvut.cz/) and [jsoncpp](https://github.com/open-source-parsers/jsoncpp) libraries
3. `cd <project_dir>/algorithmsJSONGenerator`
4. `cmake .`
5. `make`
6. Run `./algorithms_JSON_generator` to print a new algorithms JSON. To update algorithms JSON in the src directory run `./algorithms_JSON_generator > ../src/algorithms.json`

## Docker

The repository contains a `Dockerfile` to build and deploy the app. It uses nginx to host the app. The nginx server can be configured by the `nginx/default.conf` config.

## About

The application was forked from [Statemaker](https://gitlab.com/petrdsvoboda/statemaker), which is an application developed as a bachelor's project at the CTU FIT by Petr Svoboda. The Statemaker is used for creating and displaying finite automaton inputs/outputs.