Skip to content

Project's web application including services like Process Modelling, Custom User Functions, Information Dashboard and Visualization Interfaces

License

Notifications You must be signed in to change notification settings

DIASTEMA-UPRC/web-application

Repository files navigation

Diastema web app

Description

The web application of the project, utilizing a basic Node.js [1] express [2] API for all the different routes and functionalities. These include:

  • An interactive Dashboard
  • The Process Modelling component
  • Dataset management interface
  • A Custom Function Modelling component
  • Application monitoring
  • Adaptive data visualization

How to use

Prerequisites

How to run

Create a .env file containing the following:

PORT=5400

MONGO_URL=mongodb://mongo/

MINIO_URL=host.docker.internal
MINIO_ACCESS_KEY=diastema
MINIO_SECRET_KEY=diastema

ORCHESTRATOR_URL=http://83.212.238.166:50001/analysis
ORCHESTRATOR_INGESTION_URL=http://83.212.238.166:50001/ingestion

NORMALIZATION_URL=http://normalization:5000/normalize
VALIDATION_URL=http://validation:5001/validation

NODE_ENV=development

Run the following commands to install node modules and start the script for development / testing:

npm install
npm run docker:dev

The development script will also start some required services as containers:

You can now visit http://localhost:5400 where the application will be running.

Additional scripts

Some additional npm scripts have been created to execute complex Docker commands, such as:

  • npm run docker:downdev will stop and delete running containers in development mode
  • npm run docker:build will build the image again and then start the development containers
  • npm run docker:prod will start just the application container. Requires proper environment variables configuration
  • npm run docker:downprod will stop and delete running containers in production mode

References

  1. https://nodejs.org/en/
  2. https://expressjs.com/
  3. https://www.docker.com/
  4. https://www.mongodb.com/
  5. https://min.io/

License

Licensed under the Apache License Version 2.0 by Andreas Karabetian for the research project Diastema