This simple demo is based off the Aurelia Navigation Skeleton project.
It parses a string describing a piece of music. The string may contain an artist, a title, featured artist, and a remix or edit. The string should follow the general pattern artist name - song title
. With remix and featured artist in brackets []
or parenthesis ()
.
This demo was originally intended to use Polymer elements. However Polymer elements remove Aurelia databindings in some cases. So Materialize CSS was used instead.
To run the app, follow these steps.
- Ensure that NodeJS is installed. This provides the platform on which the build tooling runs.
- From the project folder, execute the following command:
npm install
- Ensure that Gulp is installed. If you need to install it, use the following command:
npm install -g gulp
- Ensure that jspm is installed. If you need to install it, use the following command:
npm install -g jspm
Note: jspm queries GitHub to install semver packages, but GitHub has a rate limit on anonymous API requests. It is advised that you configure jspm with your GitHub credentials in order to avoid problems. You can do this by executing
jspm registry config github
and following the prompts.
- Install the client-side dependencies with jspm:
jspm install -y
Note: Windows users, if you experience an error of "unknown command unzip" you can solve this problem by doing
npm install -g unzip
and then re-runningjspm install
.
- To run the app, execute the following command:
gulp watch
- Browse to http://localhost:9000 to see the app. You can make changes in the code found under
src
and the browser should auto-refresh itself as you save files.
To run the unit tests simply run gulp test
in the main project directory.
Integration tests are performed with Protractor.
- Place your E2E-Tests into the folder
test/e2e/src
- Install the necessary webdriver
gulp webdriver_update
- Make sure your app runs and is accessible
gulp watch
- In another console run the E2E-Tests
gulp e2e