Skip to content

5sControl/5s-webserver

Repository files navigation

5sControl

Contributor Covenant

5sControl is a video monitoring system with AI analysis and ERP Integration (Open Source) that helps companies improve productivity, eliminate waste, and enhance workplace safety using computer vision (CV) and machine learning (ML).

The platform generates detailed reports to provide insights on how processes can be optimized.

Plug-in your ML-algorithms or some of the Official 5s algorithms and get a ready-to-use software for manufacturing monitoring.

Project repositories

The connections between the project repositories are illustrated by the following diagram.

Please note that to ensure system stability and perfomance you can use one of the Official 5S algorithms instead of Your Algorithm.

5controlS-diagram

5controlS Platform:

  1. 5s-webserver
  2. 5s-backend
  3. 5s-frontend
  4. 5s-algorithms-controller
  5. 5s-onvif
  6. 5s-onvif-finder

Official Algorithms:

  1. min-max
  2. idle-control
  3. operation-control-js
  4. machine-control
  5. machine-control-js

Algorithms Servers:

  1. inference-server-js

Documentation

Documentation for Developers

User Documentation

Installation Guide Pt.1

Installation Guide Pt.2

Installation

To run the application, you need to install Docker and Docker-compose. You can do this by following the instructions specific to your system available at Docker Installation Guide and at Docker-compose Installation Guide.

Please follow the link and select the instructions that match your operating system to install Docker.

To clone the project, use the following Git command:

git@github.com:5sControl/5s-webserver.git

Docker-compose

Django:

Environment variables

You can view all environment variables in the service repository.

Volumes

  • /home/server/reps/images:/usr/src/app/images - to access platform images
  • /home/server/reps/videos:/usr/src/app/videos to access platform videos
  • /home/server/reps/log:/usr/src/app/log - to access django logs

DB:

Environment variables

  • POSTGRES_USER: user - Database user
  • POSTGRES_PASSWORD: pass - Database password
  • POSTGRES_DB: db - Database name

Volumes

  • /home/server/reps/database/pgdata:/var/lib/postgresql/data/ - to save the database on device

Onvif:

Environment variables

You can view all environment variables in the service repository.

Volumes

  • /home/server/reps/images:/usr/src/app/images - to save pictures on the device
  • /home/server/reps/videos:/usr/src/app/videos to save videos on the device
  • /home/server/reps/database:/var/www/5scontrol/database - to save Sqlite Database on device

Algorithms controller:

Environment variables

You can view all environment variables in the service repository.

Volumes

  • /home/server/reps/images:/var/www/5scontrol/images - to save report pictures on the device
  • /home/server/reps/database/dataset:/var/www/5scontrol/dataset - to save dataset on the device
  • /home/server/reps/images/debug:/var/www/5scontrol/debug - to save debug pictures on the device
  • /var/run/docker.sock:/var/run/docker.sock - to access your docker driver

Onvif finder

Environment variables

  • IP: 192.168.1.132 - network ip

Tests

Environment variables

  • IP: 192.168.1.132 - network ip
  • BACKEND_PORT:8000 - backend port

Frontend

Environment variables

  • REACT_APP_NGROK: https://example.com - domain link

NGINX

Volumes

  • /home/server/reps/images:/usr/src/app/images - to access pictures
  • /home/server/reps/videos:/usr/src/app/videos to access videos

Algorithm Models (Min_Max, Idle, Machine_control)

Environment variables

  • server_url: 192.168.1.142 - network ip
Machine_control_JS
  • link_reports: http://${network ip}:8000/api/reports/report-with-photos/ - link to send reports to the backend

Resources

To change the maximum model memory you need to change the resource parameter

image

Running the Application:

For start, use the following command:

cd release
docker-compose up

Contributing

Thank you for considering contributing to 5sControl. We truly believe that we can build an outstanding product together!

We welcome a variety of ways to contribute. Read below to learn how you can take part in improving 5controlS.

Code of conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Code contributing

If you want to contribute, read our contributing guide to learn about our development process and pull requests workflow.

We also have a list of good first issues that will help you make your first step to beсoming a 5S contributor.

License

GNU GPL-3.0

5sControl uses third party libraries that are distributed under their own terms (see LICENSE-3RD-PARTY.md).