Coder Social home page Coder Social logo

jeket / aperturejs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from unchartedsoftware/aperturejs

0.0 2.0 0.0 97.8 MB

ApertureJS - an open, adaptable and extensible JavaScript visualization framework

Home Page: http://aperturejs.com

License: MIT License

Java 30.87% HTML 2.84% JavaScript 63.01% Shell 0.08% CSS 3.20%

aperturejs's Introduction

Aperture JS

agile visual analytics for big data

Aperture JS is an open, adaptable and extensible JavaScript visualization framework with supporting REST services, designed to produce visualizations for analysts and decision makers in any common web browser. Aperture utilizes a novel layer based approach to visualization assembly, and a data mapping API that simplifies the process of adaptable transformation of data and analytic results into visual forms and properties. Aperture vizlets can be easily embedded with full interoperability in frameworks such as the Ozone Widget Framework (OWF).

Quick Start

The quick start assumes you've set up your development environment. Please see below.

Building

To build aperturejs, execute the following command in the root project directory:

mvn clean install

Creating an Application

Once you've built the Aperture JS project, the easiest way to get started with aperturejs is to use the aperturejs-bootstrap project. The bootstrap comes ready to start development using HTML/JS/CSS on the front-end and Java on the back.

Project Layout

Aperture JS is comprised of both client- and server-side components that work together to provide a full-featured visualizaiton framework. However, Aperture JS is also modular meaning that it is designed to allow using client JS and server components separately - many of the client-side components do not require any server-side code.

The project is structured as follows:

Client-side

Server-side

  • /aperture-common - Common Java classes and utilities used throughout the rest of the project
  • /aperture-spi - Service Provider Interface definitions for all Aperture server-side services
  • /aperture-capture-phantom - PhantomJS reference implementation of the Aperture Capture SPI
  • /aperture-cms - EhCache and CouchDB reference implementations of the Aperture CMS SPI
  • /aperture-geo - Basic reference implementations of the Aperture Geo SPIs
  • /aperture-graph - Various reference implementations of the Aperture Graph SPIs including Louvain, Markov, KSnap, and Modularity aggregators
  • /aperture-icons - Full reference implementation of the Aperture Icon SPI including all source SVG content
  • /aperture-layout - Reference implementations of the Aperture Graph Layout SPIs
  • /aperture-layout-yworks - yWorks reference implementation of the Aperture Graph Layout SPIs - requires yWorks "yFiles" v2.4
  • /aperture-parchment - Provides degree-of-confidence "parchment" images
  • /aperture-server-core - Core Aperture server logic to handle binding SPI implementations via Google Guice. This forms the core of an Aperture server and handles all loading and bootstrapping.

Examples, Docs, and Distrubution

  • /aperture-examples - Example code and content, essentially the source for aperturejs.com
  • /aperture-client-docs - JSDoc generation code for the aperture-client JS library
  • /aperture-distribution - Project for generating distributables of aperturejs including a client-only .zip of .js files and a full server distribution.
  • /aperture-server - An example combining the reference SPI implementations above, the server-core, the client JS, and the examples into an application. This generates a WAR that can be served in any Java Servlet container and contains all docs and examples.

Development

Prerequisites

The aperturejs project uses the Maven build tool for all sub-projects. For the moment, this also includes building a concatenated aperture.js client-side library. As such, to build please ensure the following are installed and working on your local system:

Note that Maven and Java both require that various environment variables are set on your system. This is operating system dependent so please follow the install instructions that apply to your host system carefully.

Building

To build aperturejs, execute the following command in the root project directory:

mvn clean install

The build will place all compiled JAR artifacts in the target folders within each project and into your local Maven repository (generally at <user home>/.m2/repository) but will also include the following files of note:

  • /aperture-distribution/target/aperture-dist-{VERSION}-js.zip - A zip file containing all compiled aperture .js files and dependencies (such as OpenLayers).
  • /aperture-distribution/target/aperture-dist-{VERSION}-full.zip - A zip file containing all compiled aperture .jars and .js files. If you are building an application from the ground-up without using the aperture-server bootstrap example, this distribution should contain everything you need.
  • /aperture-server/target/aperture-server-{VERSION}.war - A war (web archive) file containing the example server with full aperturejs documentation and examples. This file can be placed into your web application container (Jetty, Tomcat) of choice for demonstration purposes.

aperturejs's People

Contributors

cdbethune avatar robharper avatar slangevi avatar

Watchers

 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.