Skip to content

SOCR/SOCRAT

Repository files navigation

SOCRAT: SOCR Analytics Toolbox

A Dynamic Web Toolbox for Interactive Data Processing, Analysis, and Visualization

Installation

To run SOCRAT locally, or create your own module, or contribute to the project, follow these steps to setup your environment.

First, install Node.js if you haven't yet. npm is the package manager for Node.js and comes bundled with it.

Clone the repository:

$> git clone https://github.com/SOCR/SOCRAT.git
$> cd SOCRAT

[optional] To see latest changes or to contribute to the project you can switch to the dev branch:

$> git checkout dev
$> git pull

Now, install all the dependencies:

$> npm install

Some errors and warnings may appear during the installation – they can be ignored as long as the project compiles.

[optional] Start the development server with:

$> npm run serve

You will see the application running at localhost:8080 and the page will live reload on saved changes in source code.

To build the project and start the web-server:

$> npm run build
$> node server.js

Now you should be able to access SOCRAT at localhost:3000.

Also see how to add test datasets and general contribution instructions.

Motivation

The modern web is a successful platform for large scale interactive web applications, including visualizations. Statistics Online Computational Resource (SOCR) provides a web-based collection of tools for interactive modeling and visual data analysis that has a large user base. However, most of SOCR applets eventually became practically unavailable to end users as new versions of browsers disabled Java by default as a response to numerous vulnerability reports. Thus, we designed an open-source platform to build Statistics Online Computational Resource Analytical Toolbox (SOCRAT). Platform design defines: (1) a specification for an architecture for building VA applications with multi-level modularity, and (2) methods for optimizing module interaction, re-usage, and extension. SOCRAT relies on this platform for integration of a number of data management, analysis, and visualization modules into an easily customizable web application including interfaces for merging third-party components. This ability allows SOCRAT to balance expressive, interactive and processing capabilities, efficiency, compatibility, and accessibility. Multi-level modularity and declarative specifications enable easy customizations of the application, for instance, for a specific project. Online demo demonstrates how SOCRAT can be used for data input, display, and storage, with interactive visualization and analysis. For more details see the publication list below.

Publications

If you find our work useful, please cite our papers:

  1. Alexandr A Kalinin, Selvam Palanimalai, Junqi Zhu, Wenyi Wu, Nikhil Devraj, Chunchun Ye, Nellie Ponarul, Syed S Husain, Ivo D Dinov. 2022. SOCRAT: A Dynamic Web Toolbox for Interactive Data Processing, Analysis and Visualization. Information 13, no. 11: 547. DOI:10.3390/info13110547
@article{kalinin2022socrat,
  title={SOCRAT: A Dynamic Web Toolbox for Interactive Data Processing, Analysis and Visualization},
  author={Kalinin, Alexandr A and Palanimalai, Selvam and Zhu, Junqi and Wu, Wenyi and Devraj, Nikhil and Ye, Chunchun and Ponarul, Nellie and Husain, Syed S and Dinov, Ivo D},
  journal={Information},
  volume={13},
  number={11},
  pages={547},
  year={2022},
  doi = {10.3390/info13110547},
  publisher={Multidisciplinary Digital Publishing Institute}
}
  1. Alexandr A. Kalinin, Selvam Palanimalai, and Ivo D. Dinov. 2017. SOCRAT Platform Design: A Web Architecture for Interactive Visual Analytics Applications. In Proceedings of HILDA’17, Chicago, IL, USA, May 14, 2017. DOI:10.1145/3077257.3077262
@inproceedings{kalinin2017socrat,
   author = {Kalinin, Alexandr A. and Palanimalai, Selvam and Dinov, Ivo D.},
   title = {SOCRAT Platform Design: A Web Architecture for Interactive Visual Analytics Applications},
   booktitle = {Proceedings of the 2Nd Workshop on Human-In-the-Loop Data Analytics},
   series = {HILDA'17},
   year = {2017},
   location = {Chicago, IL, USA},
   pages = {1-6},
   articleno = {8},
   url = {http://doi.acm.org/10.1145/3077257.3077262},
   doi = {10.1145/3077257.3077262},
   publisher = {ACM}
}

Technologies/Packages

CoffeeScript Jade Less Webpack Node.js

Dependencies

Bootstrap jQuery AngularJS with AngularUI D3.js Handsontable with ngHandsontable jStat Wrangler

Copyright and License

The LGPL v3.0 License

Copyright (c) 2013-2022 Statistics Online Computational Resource (SOCR)

All SOCR programs, materials, tools and resources are developed by and freely disseminated to the entire community. Users may revise, extend, redistribute, modify under the terms of the Lesser GNU General Public License as published by the Open Source Initiative. All efforts should be made to develop and distribute factually correct, useful, portable and extensible resource all available in all digital formats for free over the Internet.

SOCR resources are distributed in the hope that they will be useful, but without any warranty; without any explicit, implicit or implied warranty for merchantability or fitness for a particular purpose. See the GNU Lesser General Public License for more details see http://opensource.org/licenses/LGPL-3.0.