Code Monkey home page Code Monkey logo

socrat's Introduction

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.

socrat's People

Contributors

acell avatar alxndrkalinin avatar appletreeisyellow avatar bradyzhu1102 avatar chartotu19 avatar dependabot[bot] avatar esther11 avatar idinov avatar irenezhou avatar kakashi19 avatar ljx0320 avatar nponarul avatar prat024 avatar sshusain avatar tan-patrick avatar wenyiw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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.