Coder Social home page Coder Social logo

francescoamato / is2 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mecdcme/is2

1.0 2.0 0.0 10.6 MB

An open source runtime environment to execute statistical services

License: European Union Public License 1.1

Java 40.14% CSS 25.67% JavaScript 8.10% HTML 19.46% Batchfile 0.02% R 1.22% TSQL 5.25% Dockerfile 0.05% Shell 0.09%

is2's Introduction

Build Status Docker hub Docker hub

IS2

A runtime environment to execute statistical services. IS2 is a workbench that offers a set of tools for data analysis and processing.

What you’ll need

In order to build the IS2 application, your environment should fulfill the following requirements:

  • A favorite text editor or IDE
  • JDK 1.8 or later
  • Maven 3.0+
  • Mysql Server 8.0 or later

What you’ll build

IS2 is a workbench that, regardless of the statistical method executed, provides the following functionalities:

  1. Upload and management of input data and metadata;
  2. Setting of variables and parameters needed by an algorithm, written in Java, R or PL/SQL;
  3. Algorithm execution;
  4. Analysis of output data and reports.

The main concepts in the context of IS2 are:

  1. Work Session: a work session is a logical environment that allows to upload and preprocess your data. The system provides a set of functionalities to create new variables by transforming the existing ones, or select a subset of records and/or variables.
  2. Processing Session: by mapping initial data with standardized metadata, input data are transformed in working data. In this step, the user can classify and manage the information to process by: i) assigning specific roles to some variables (e.g. identification variable, classification, core variables); ii) selecting auxiliary information (if needed); iii) setting the model parameters.
  3. Run method: working data, with their standardized data structures, can be processed by one or more iterations of the statistical method. The result of each iteration is stored in standardized data structures (output data).
  4. Analyse output: this process step can be used to perform quality checks and/or to calculate statistical indicators to assess the outcome of each iteration.

How to build

Download and unzip the source code in your workspace IS2_PATH. Before building the application you must create a MySQL database. From the command line go to MySQL installation directory MYSQL_PATH:

cd MYSQL_PATH\bin;
mysql -u db_username -p
mysql> create database is2;

Then create the tables needed to run the application, using the script is2.sql stored in the IS2_PATH/db folder:

mysql> use is2;
mysql> source is2.sql

The script will populate the USER/ROLES tables with the user:

Username: [email protected]
Password: istat

After DB installation, you need to increase the max_allowed_packet parameter in the my.ini configuration file and restart the MySQL Sever:

max_allowed_packet=256M

From your IDE select and open the unzipped maven project. As a first step check the content of the application.properties file, located in the path Other Sources > src/main/resources:

spring.datasource.url = jdbc:mysql://localhost:3306/IS2?useSSL=false&useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username = db_username
spring.datasource.password = db_password

Now you can perform your first build of the application. If the build process ends successfully, you are ready to run the application. The application is built using the open source framework Spring Boot, which generates an executable jar (that can be run from the command line). Spring Boot creates a stand-alone Spring based Applications, with an embedded Tomcat, that you can "just run".

java –jar is2.jar

Dockerize the MySQL database

docker build -t i3sessnet/is2-mysql . -f db.Dockerfile
docker run -p 3306:3306 i3sessnet/is2-mysql

Dockerize the web application

docker build -t i3sessnet/is2 . -f app.Dockerfile
docker run -p 8080:8080 i3sessnet/is2 

Docker compose

docker-compose up

The application will be at http://localhost:8080/is2 If you want to inspect the database you can use the Adminer application at http://localhost:8081/

License

IS2 is EUPL-licensed

is2's People

Contributors

mecboc avatar trygu avatar runejo avatar mandreuzzi avatar smacone avatar romaintailhurat avatar healermikado avatar franckco avatar renzo80 avatar

Stargazers

Francesco Amato avatar

Watchers

James Cloos avatar Francesco Amato 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.