This is a front-end project for classic Algorithm implementations.
This project relies on the Polymer Starter Kit project in order to leverage the power of Polymer components.
- Polymer, Paper, Iron and Neon elements
- Material Design layout
- Routing with Page.js
- Unit testing with Web Component Tester
- Optional offline setup through Platinum Service Worker elements
- End-to-end Build Tooling (including Vulcanize)
- Graphics powered by D3.js.
This project requires the following major dependencies:
- Node.js, used to run JavaScript tools from the command line.
- npm, the node package manager, installed with Node.js and used to install Node.js packages.
- gulp, a Node.js-based build tool.
- bower, a Node.js-based package manager used to install front-end packages (like Polymer).
To install dependencies:
- Check your Node.js version.
$ node --version
The version should be at or above 0.12.x.
-
If you don't have Node.js installed, or you have a lower version, go to nodejs.org and click on the big green Install button.
-
Install
gulp
andbower
globally.
$ npm install -g gulp bower
This lets you run gulp
and bower
from the command line.
- Install the starter kit's local
npm
andbower
dependencies.
$ npm install && bower install
This installs the element sets (Paper, Iron, Platinum) and tools the starter kit requires to build and serve apps.
$ gulp serve
This outputs an IP address you can use to locally test and another that can be used on devices connected to your network.
$ gulp test:local
This runs the unit tests defined in the app/test
directory through web-component-tester.
To run tests Java 7 or higher is required. To update Java go to http://www.oracle.com/technetwork/java/javase/downloads/index.html and download JDK and install it.
The various graphics used in the app are based on D3.
For more details on the D3 API, visit the following: D3 API.
$ gulp
Build and optimize the current project, ready for deployment. This includes vulcanization, image, script, stylesheet and HTML optimization and minification.
Web apps built with Polymer Starter Kit come configured with support for Web Component Tester - Polymer's preferred tool for authoring and running unit tests. This makes testing your element based applications a pleasant experience.
Read more about using Web Component tester.
Polymer uses Bower for package management. This makes it easy to keep your elements up to date and versioned. For tooling, we use npm to manage Node.js-based dependencies.
Components installed by Bower live in the app/bower_components
directory. This location is specified by the .bowerrc
file. Many projects which follow Yeoman conventions place the bower_components
directory outside of the app
directory and then mount it using a server. This causes problems for tools like Vulcanize and web-component-shards which rely on relative paths. We've chosen to simplify things and have bower_components
live inside of app
to resolve these issues.