Skip to content

stamp-web/stamp-web-aurelia

Repository files navigation

stamp-web-aurelia

stamp-web-aurelia is the web front-end for managing collections of stamps and leverages the REST interfaces of stamp-web-services.

Note This project will require a stamp-web-services REST backend to correctly function. See Below for details.

Stamp Screen Shots

Browsing by a country

Screen shot from Stamp-Web

Creating a new stamp form

Screen shot showing Editing in Stamp-Web

Demo Server

A demo server has been provided using the following credentials:

Running The App

To run the app, follow these steps.

  1. Ensure that NodeJS is installed. This provides the platform on which the build tooling runs.

  2. Ensure that Gulp and Aurelia CLI is installed globally. If you need to install it, use the following commands:

npm install -g gulp
npm install -g aurelia-cli
  1. Install the client-side dependencies with npm:
npm install
  1. To run the app, execute the following command:
au run --watch
  1. Browse to 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.

Browser Support

This project is only going to support the latest browsers (Chrome/Firefox/Edge).

Connecting to Webservices in Development

The REST Web Services are available from stamp-webservices. This project has detailed instructions on how to setup the environment and setup. You will need MySQL and NodeJS to do so.

Stamp-Web now includes a reverse proxy in the server (also called from watch) that will automatically proxy calls to the stamp-webservices, meaning that nginx is no longer needed.

You can access both the web-services and the application server through port 9000 (http://localhost:9000/#)

Accessing the Demo Services

Another way to access the web-services is using the reverse proxy to the demo system located at http://drake-server.ddns.net:9008/stamp-webservices. You can change this setting via "stamp-webservices" variable in the file aurelia_project/tasks/proxy.json

If you take this later approach, please note that the performance will not be great since you will be reverse proxying to a remote data service. Also note, this is a demo machine so I would appreciate it if you didn't completely corrupt the data (this is not my production data, but if I have to continually manage the system due to misuse I will close it down to outside connections)

Running The Unit Tests

To run the unit tests, first ensure that you have followed the steps above in order to install all dependencies and successfully build the library. Once you have done that, proceed with these additional steps:

  1. You can now run the tests with this command:
 au test

Running the Integration Tests

Webdriver for NodeJS is used for the integration tests. This project has been moved to stamp-web-selenium

Test Statistics

The following is a list of test statistics for the project by date and commit

Date Commit Number of Tests Code Coverage
2022-01-15 8ac447f 83 12.05%
2022-01-15 081fe3f 86 12.20%
2022-01-15 38899a3 94 13.29%
2022-01-25 c17f067 98 18.35%
2022-06-08 a798ac3 102 18.41%
2022-06-08 e64d964 104 18.59%
2023-01-04 359948b 107 18.80%
2023-09-21 4412730 123 20.27%
2023-10-08 054cb00 134 20.68%
2023-11-01 fd3f25d 160 22.38%

Optimizing for Browsers

To optimize the build for the latest browsers the command

npx browserslist@latest --update-db

Should be run periodically to refresh the browser DB and allow for optimized compiles.