This tool provides two types of reliability analyses - Fault Tree Analysis (FTA)
and Failure Modes and Effects Analysis (FMEA)
.
It is primarily focused on FTA, which offers possibilities for system partonomy definition,
FTA construction and automatic conversion of the trees to FMEA tables given the unified ontological model. A detailed description of its features is described in user manual.
This repository contains the frontend of the tool. The backend is written in Java and is developed separately (its repository can be found here). A live demo of the tool is available here.
npm install
npm run build
npm run preview
It is possible to run the tool using internal authorization or Keycloak-based authorization.
- Change the working directory using
cd ./deploy/internal-auth
- Run
docker-compose up -d
to start the application. - The application should be accessible at
http:/localhost:1235/
- Change the working directory using
cd ./deploy/keycloak-auth
- Configure variables
KC_ADMIN_USER
,KC_ADMIN_PASSWORD
within.env
to access admin account of keycloak service - Run
docker-compose up -d
to start the application. - The application should be accessible at
http:/localhost:1235/
- Configure users of the tool within keycloak admin interface
http:/localhost:1235/services/auth
using values ofKC_ADMIN_USER
,KC_ADMIN_PASSWORD
The tool also supports configuration to disable registration of new users within security, but by default, everybody can register. There are two flags that need to be set:
- Backend - Run application with
-Dspring.profiles.active=admin-registration-only
profile - Frontend - Set
FTA_FMEA_APP_ADMIN_REGISTRATION_ONLY
in .env.production to true
To develop the tool, the easiest way to run it is as follows:
- Run the complete tool as described in Running complete tool in Docker
- Depending on the deployment chosen in the previous step, copy the appropriate configuration to
.env.development
, i.e.:- if deploy/internal-auth was chosen, execute:
cp .env.deveploment.internal-auth .env.development
- else if deploy/keycloak-auth was chosen, execute:
cp .env.deveploment.keycloak-auth .env.development
- if deploy/internal-auth was chosen, execute:
- Run the frontend of the tool that connects to just-started docker services:
npm install
npm run dev
Note that the guide above runs two frontends, one as a docker service from step 1 and another executed by npm run dev
from step 2.
- Vite setup
- styling (css/sass)
- routing
- user context
- data flow through the app
- modules binding
- consultation
We use Prettier to keep the codebase formatting consistent. To simplify this process, a pre-commit Git hook is set up with Husky. This hook runs Prettier code formatting before every commit.
If you experience issues on pre-commit using the GUI and you are using a node version manager, such as nvm, add the following script:
# ~/.config/husky/init.sh
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
For more information, follow this guide.
This repository was created within the project LTACH19032.