Giter Club home page Giter Club logo

taiezj / scada-lts Goto Github PK

View Code? Open in Web Editor NEW

This project forked from scada-lts/scada-lts

0.0 1.0 0.0 104.41 MB

Scada-LTS is an Open Source, web-based, multi-platform solution for building your own SCADA (Supervisory Control and Data Acquisiton) system.

License: GNU General Public License v2.0

JavaScript 25.36% HTML 20.72% CSS 1.36% Vue 0.16% TypeScript 0.43% Batchfile 0.01% Shell 0.06% TSQL 22.44% PLSQL 0.61% FreeMarker 0.22% Java 28.26% ActionScript 0.03% AngelScript 0.01% Python 0.06% PHP 0.25% XSLT 0.02% Makefile 0.01% Dockerfile 0.01%

scada-lts's Introduction

Build Status GPL-2.0 Waffle.io - Columns and their card count

Scada-LTS is an Open Source, web-based, multi-platform solution for building your own SCADA (Supervisory Control and Data Acquisiton) system.

Table of contents

Quick start

Here is two of the several start options:

To Run ScadaLTS on Docker:

  • Download and install Docker from: https://www.docker.com/
  • Download Docker Toolbox from: https://kitematic.com/
  • Run Docker and Docker Toolbox.
  • When the download is completed in the Docker Toolbox run Docker CLI (bottom-left corner).
  • In the Docker CLI type in: docker pull scadalts/scadalts to download repository.
  • Type in: docker images to check if repository is created. It should show "scadalts/scadalts" on the list.
  • To run Scada on Docker type in: docker run -it -e DOCKER_HOST_IP=`docker-machine ip` -p 81:8080 scadalts/scadalts /root/start.sh.
  • Type in: Get-NetIPAddress and find IPAdrress for "DockerNAT" InterfaceAlias (You need a new CLI window to do it).
  • Type in docker IP adrress in the browser with port 81 and /ScadaLTS/ sufix. Example: http://10.0.75.2:81/ScadaLTS/

Second option:

  • Download the latest release.
  • Install tomcat7: apt-get install tomcat7.
  • Install mysql: apt-get install mysql-server.
  • Login to mysql: mysql -u [user] -p.
  • Create db:create database scadalts;.
  • Copy ScadaBR.war to dir tomacat webapps: cp ScadaBR.war /var/lib/tomcat7/webapps/. Optionally you can build ScadaBR.war. For this you have instruction how do it in section "Building from sources",which is below.
  • Restart tomcat7 to generate ScadaLTS folder: /etc/init.d/tomcat7 restart
  • Change config file env.properties set connection to db: vim /var/lib/tomcat7/webapps/ScadaBR/WEB-INF/classes/env.properties.
  • Restart tomcat7: /etc/init.d/tomcat7 restart

Building from sources

1.Please checkout sources from git from master branch by command git clone https://github.com/SCADA-LTS/Scada-LTS.git

After that You can open the project on Intellij Community Edition

2.Build project by Ant

Please set up environment variable CATALINA_HOME in your system. Example for linux system: CATALINA_HOME='home/yourusername/path_to_tomcat_directory'

We have build.xml which is used to build scadalts.war file.

Below are ant tasks which we run step by step

  • ant clean,
  • ant build,
  • ant war

3.Deploy

For deploy war file to tomcat we use ant clean_and_tomcat_deploy task on Windows and Linux.

4.Running and debugging application

After deploying you can run tomcat by supplying either ant run-debug on windows or ant run-debug-linux on Linux

Selenium Tests - GUI Automation tests

  1. Needed libraries.

After checkout sources, as mentioned in 'Building from sources' section above using point 1, we have selenium directory. Here we have one file:

  • selenium-java-3.141.59.zip <- inside we have jar files which we have add to our project. We have additional geckodriver file ,responsible for open web browser.
  1. Needed imports.

Here we can have situation when we don't have needed jar files or libraries. Please unzip selenium-java-3.141.59.zip in the same one directory. We need, to working this test, only 'client-combined-3.141.59.jar' file, from unziped file. Please add mentioned jar file 'client...' as additional library to the project. Right now we should have all of imported classes.

  1. Simple example.

Under package 'selenium', we have 'AntSeleniumTest_LogIn_And_LogInWithFailUser.java'. This java class had two cases of test.

First use case - user exist in database: a) open webbrowser and in webbrowser put url address to open ScadaBR login side, b) put data like username and password into responsible fields, c) run login action, d) after succesfully point c) we should see our default side of ScadaLTS application. e) the end step is close webbrowser.

Second use case - user not exist in database: a) open webbrowser and in webbrowser put url address to open ScadaBR login side, b) put data like username and password into responsible fields, c) run login action, d) after unsuccesfully point c) we have information that this username not exist in database, e) the end step is close webbrowser.

  1. Additional Ant Task to run test.

In build.xml, we have task named 'AntSelenium_UserLogIn'. Before run , we need run some other ant tasks :

  • ant clean,
  • ant build,
  • ant war,
  • 'ant clean_and_tomcat_deploy'.

Without ant we can run our apache-tomcat server. Right now we can run mentioned task 'ant AntSelenium_UserLogIn' from terminal.

5.Problems and issues

First of all , I had problem on Ubuntu when I tried run 'ant AntSelenium_UserLogIn' task. I saw messages in console which told me, that I don't have GTK+ package on my machine, so I solved this one by install GTK+ package.

I didn't have any issues more, but If you have someone else, please contact with us.

Bugs and feature requests

Have a bug or a feature request? Please first read the issue guidelines and search for existing and closed issues. If your problem or idea is not addressed yet, please open a new issue.

Documentation

Scada-LTS documentation, will be included in this repo in the root directory.

Contributing

In the process of making.

Community

Tests

scada-lts.testquality.com

Project Encoding

Default project encoding is set to UTF-8.

Versioning

For transparency into our release cycle and in striving to maintain backward compatibility, Scada-LTS is maintained under the Semantic Versioning guidelines. Sometimes we screw up, but we'll adhere to those rules whenever possible.

See the Releases section of our GitHub project for changelogs for each release version of Scada-LTS.

Creators

Code base on ScadaBR

Michał Rokitiański

Grzesiek Bylica

Arkadiusz Parafiniuk

Konrad Daniek

Jarosław Morzyniec

Mateusz Kaproń

Diego Rodrigues Ferreira

Jerzy Piejko

Radosław Jajko

Marcin Gołda

Tomasz Skrobol

Support

If you need support for deployment please contact us and find more information on our website

Copyright and license

Code released under the GPL license.

scada-lts's People

Contributors

grzesiekb avatar arkadiuszparafiniuk avatar wisyr avatar radek2s avatar kapmati avatar mateuszhyski avatar marcingolda avatar softq avatar grzlys avatar sdtabilit avatar jerzypiejko avatar morzyniec avatar randemrafael avatar danibeni avatar genrbe avatar markrey avatar max-lg avatar syndrome5 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.