Skip to content

IT-Designers/winslow

Repository files navigation

Winslow winslow log

CI/CD Pipeline Wiki Docker Pulls License

Winslow is a distributed and automated pipeline management system initially designed for traffic flow analysis through computer vision. It is focused on easy deployment for small to medium-sized environments with minimum administrative overhead. The current development is primarily driven by its original purpose. However, the design makes it usable for a wide range of applications, which needs data processing, machine learning, and more. See the System Architecture below for a high-level overview. architecture.png

Quick Overview

Prerequisite

Supported Operating Systems

Windows Ubuntu Other Linux Mac
:no_entry: :white_check_mark: should work but not tested Alt Text
not supported ⛔ supported ✅ not tested ❓ not supported ⛔

Software dependencies

Running

  • Docker

Building & Running from Source

  • Java 17
  • Maven 3.6.3
  • Angular 17
  • Node 18.13.0
  • npm 8.19.3

Minimum Hardware Requirements

  • 2GB RAM
  • 2 vCPU
  • 10GB Storage
  • NVIDIA GPU (optional)

Starting with Docker

See Winslow Docker Image for more information.

Starting from Source

This is a universal step-by-step approach, the commands and directories are dependent on each other.

  1. Checkout the master branch:
    • cd $HOME; git clone https://github.com/IT-Designers/winslow.git
  2. Create a workdir, for example in the project root:
    • cd winslow && mkdir workdir

Run in terminal

Important: Do the steps from How to Start first and then come back.

  1. Build & Start the Frontend:

    • (cd ui-ng && npm install && npm run build && npm run start)
  2. Build the Backend:

    • mvn package
  3. Set environment variables, these are example values and can be adjusted (see workdir):

    • export WINSLOW_DEV_ENV=true
      export WINSLOW_DEV_ENV_IP=192.168.1.178
      export WINSLOW_NO_GPU_USAGE=0
      export WINSLOW_NO_STAGE_EXECUTION=0
      export WINSLOW_DEV_REMOTE_USER=example
      export WINSLOW_ROOT_USERS=example
      
      Adjust the WINSLOW_WORK_DIRECTORY to an absolut path which points to the workdir from how to start
      • Example: WINSLOW_WORK_DIRECTORY=/home/itdesigners/winslow/workdir
      export WINSLOW_WORK_DIRECTORY=<absolut-path-to-winslow-workdir-folder>
      
  4. Start the Backend:

    • (cd application/target && java -jar winslow-application*.jar)

Setup Local Development

Currently only intellij setup is documented, feel free to add documentation for other environments.

Important: Do the steps from How to Start first and then come back.

Intellij SetUp

Note

Read this step in the markdown preview of IntelliJ to finish the setup.

Project Configuration

  • Open settings and select a compatible node and npm version as mentioned in Prerequisite

node_npm_version.png

Start Backend

Click here to start backend: winslow-application
(There is also a visual guide to configure the backend: Visual Guide)

Start Frontend

Click here to start frontend: start fe

Troubleshooting

1. The documentation said click here but there is nothing to click?

  • Make sure you are reading this in the markdown preview from Intellij

Origin

Winslow was originally created as part of the thesis in 2019/2020 at IT-Designers GmbH (https://www.it-designers.de).

License

Licensed under MIT license.

About

Distributed Standalone Workflow Engine

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors