This project is deprecated. Please visit the neon-dash repository for our latest work.
The Neon Dashboard (neon-dash) is a sample analysis dashboard built upon the Neon Framework. It includes a number of geo-spatial and temporal data visualizations built as Angular components that use the Neon framework to query and filter data served by MongoDB, Elasticsearch 1.7 or an Apache Spark server.
Neon is a software platform designed to help developers integrate disparate visualization widgets with your data stores. It includes a Data Access API that makes it easy to query an underlying database directly from JavaScript or RESTful endpoints. Additionally, the Neon Interaction API provides capabilities for inter-widget communication and shared data filters, allowing multiple visualizations to interact without being explicityly aware of one another.
This project was generated with angular-cli.
Building the neon-dash application requires Node.js (Version 6.9.x or higher). Once node has been installed, you should install the Angular Command Line Interface with the following command:
npm install -g @angular/cli
Now, install the dependencies:
npm install
Start a Neon server running on port 8080. As an alternate to building the server, you can use the Neon Quickstart Docker Image.
Run npm start
for a dev server. Navigate to http://localhost:4200/
. The app will automatically reload if you change any of the source files.
If you need to deliver the application to someone else, so need the war file, run npm run build
to build the project. The build artifacts will be stored in the dist/
directory. Use the --prod
flag for a production build.
Run npm run docs
to generate the documentation into the docs/
directory.
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via Protractor.
Before running the tests make sure you are serving the app via ng serve
.
If you wish to create a new component, run ng generate component <component-name>
to generate the appropriate files as a basis. You can also use ng generate directive/pipe/service/route/class
.
This project is set up to run ng lint
before all commits. This will add a delay before you are able to make a commit.
The hook can be skipped by using git commit -n
- Only use this if the changes are only to non-Typescript files.
To get more help on the angular-cli
use ng --help
or go check out the Angular-CLI README.
To see an example of this project, check out our demo server. Read more about how to use it and how it interacts with Neon here.
Note: These examples are for deploying the webapp to /neon-dash/
in a web container.
Change all instances of neon-dash
in the instructions if you want to use a different relative URL.
Running the application requires a functioning Neon deployment. Links to the Neon deployment instructions and the command line instructions to build neon-dash follow:
-
Build and Deploy a Neon server, drop the latest neon.war in a web application container such as Tomcat, or use the Neon Quickstart Docker Image.
-
Clone the neon-dash repo
git clone https://github.com/NextCenturyCorporation/neon-dash.git cd neon-dash/
-
Copy the sample NEON-DASH configuration file to the app config folder or supply your own. The configuration file specifies the default datasets and visualizations to display. It is described in detail here. The sample configuration file is setup for the sample earthquake data referenced in step 1.
# Copy either the YAML or JSON config file. If Neon-Dash cannot find one, # it will look for the other. cp app/config/sample.config.yaml app/config/config.yaml cp app/config/sample.config.json app/config/config.json
-
Use npm to download dependencies, then build the application:
npm install ng build --base-href /neon-dash/
-
Deploy the built webapp to your container from step 1.
For Tomcat: Create a neon-dash
directory under the /webapps folder. Copy all the built files under dist/
to this directory.
For Others: The built app requires that the Neon server is accessible as the /neon
URL on the host. For other deployments, you can deploy the Neon-Dash project on a standard web server such as nginx or Apache, and proxy /neon
to your Neon server.
- If running against a stock, localhost Tomcat instance, browse to the http://localhost:8080/neon-dash/ to verify its installation. The Users Guide describes its basic use.
Neon Git Repo - Visit the main Neon project and download its source code.
Neon Wiki - Visit the Neon wiki for more information on what Neon can do for you.
Build Instructions - Includes instructions for building the Neon WAR file from source code and lists Neon's external dependencies.
Deploying Neon - Includes instructions for deploying the Neon application to a web application container (e.g., Jetty or Tomcat).
Developer Quick Start Guide - A quick tour of how to develop apps that use Neon.
Neon and are made available by Next Century under the Apache 2 Open Source License. You may freely download, use, and modify, in whole or in part, the source code or release packages. Any restrictions or attribution requirements are spelled out in the license file. Neon and attribution information can be found in the LICENSE.TXT file and licenses folder in each of the Neon Git Repository and Git Repository. For more information about the Apache license, please visit the The Apache Software Foundation’s License FAQ.
VERDI Icon : ArtsyBee, CC0 Creative Commons, uploaded 7 February 2016, lion-1181521_960_720.png
Email: neon-support@nextcentury.com
Website: http://neonframework.org
Copyright 2017 Next Century Corporation