BoostV / process-optimizer-frontend

A web frontend for ProcessOptimizer
BSD 3-Clause "New" or "Revised" License
10 stars 3 forks source link

Process Optimizer Frontend

CI CodeQL

This project implements a web based frontend for the statistical tool ProcessOptimizer.
It is meant to be used in conjunction with the REST base API for ProcessOptimizer realised in process-optimizer-api.

Getting Started

VS Code

If you are using Visual Studio Code (VSCode) you can use the development container definition included here. Just check out the project and let VSCode automatically generate a development environment. The container will start an instance of the process-optimizer-api based on the main branch in a separate Docker container.

Prepare the development environment

The repository is structured as a mono repo using the workspaces feature of NPM.

  1. Initialize the project by installing dependencies
npm install
npm run bootstrap
  1. Start a development server that automatically monitors for changed files and reloads the application in your browser
npm run dev:app
  1. Open http://localhost:5173 with your browser to see the result.

Build and run production docker image

docker build -t process-optimizer-frontend .
docker run --rm -it --name process-optimizer-frontend -p 8080:80 --env API_URL=http://localhost:9090/v1.0 process-optimizer-frontend

Run pre-built docker image

docker run -d -p 8080:80 --env API_URL=http://localhost:9090/v1.0 ghcr.io/boostv/process-optimizer-frontend:main

Update OpenAPI client

When the process-optimizer-api changes, adjust the API version in the "openapi" script in package.json run the following command and commit the resulting changes. Please note that this step requires Java to be installed.

npm run openapi

Updating the change log

When you create significant changes that need to be noted in the changelog please run the command

npx changeset

Contributing

Please see Contribution guideline for this project

Learn More

This project is based on Next.js and follow the project structure and conventions of that project.

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

License

Copyright (c) 2022, BoostV. All rights reserved. Licensed under the BSD 3-Clause License. See LICENSE.