Awesome
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.
<font color='red'>Note This project will require a stamp-web-services REST backend to correctly function. See Below for details.</font>
Stamp Screen Shots
Browsing by a country
Creating a new stamp form
Demo Server
A demo server has been provided using the following credentials:
- username: demo
- password: demo
- address: http://drake-server.ddns.net:9008/stamp-aurelia/index.html
Running The App
To run the app, follow these steps.
-
Ensure that NodeJS is installed. This provides the platform on which the build tooling runs.
-
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
- Install the client-side dependencies with npm:
npm install
- To run the app, execute the following command:
au run --watch
- 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:
- 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.