Web application to visualize the result of a Delft3D simulation of Lake Geneva.
- Install Node.js.
- Run
npm install
. - Run
npm start
. - Browse to http://localhost:8080/.
- Follow steps 1 and 2 above.
- Switch to the
release
branch, update version inpackage.json
and commit. - Create a
git tag
for the new version. - Run
git push && git push --tags
to push the new version and tag. - Run
npm pack
; This will create a filelake-view-{version}.tgz
- Extract
lake-view-{version}.tgz
on the server.
- Install Cordova.
- Install Gradle.
- Install Android Studio.
- From Android Studio, install
platform-tools
andbuild-tools
. - Create a new emulator.
- From Android Studio, install
- Browse to
mobile\
.- For browser run
cordova run browser
. - For Android run
cordova run android
.
- For browser run
- Follow website deployment steps.
- Browse to
mobile\
. - Extract
lake-view-{version}.tgz
into thewww\
folder. - Update the version in
config.xml
andpackage.json
. - Run
cordova build --release
. - Sign the apk located in
platforms\android\app\build\outputs\apk\release
.- You can use apk-signer to sign and align the apk.
- Upload the signed apk to the server at the path
package/android/meteolakes_{version}.apk
. - Upload the signed apk to Google Play.
Name and short description of each product.
- Node.js/npm
- Package manager; Fetch all other dependencies.
- AngularJS
- Web application framework; Organize code into modules and update views.
- gulp.js
- Build tool; Concatenate all .js modules into a single bundle.js file.
- ng-annotate
- Add AngularJS dependency injection annotations.
- Bootstrap
- Front-end web framework; Page layout and interactive elements.
- Leaflet
- Interactive map library.
- Proj4Leaflet
- Proj4js Leaflet plugin; Transform between EPSG:21781 (CH1903 / LV03) and EPSG:3857 (WGS 84 / Pseudo-Mercator).
- Pixi.js
- 2D webGL renderer with canvas fallback; Draw data on maps.
- rbush/rbush-knn
- k-nearest neighbors search; Find closest data point when clicking on map.
- jQuery
- DOM manipulation library.
- D3.js
- SVG plotting library; Draw time series of simulation data.
- Moment.js
- Parse, validate, manipulate, and display dates in JavaScript.
- Google Analytics
- Web analytics service; Tracks and report website traffic.
- srihash.org
- Soubresource Integrity; Ensure that resources hosted on third-party servers have not been tampered with.
- cordova
- Mobile framework to create cross-platform application from web technologies
./
index.html
and favicons
./app/js
- AngularJS modules
./app/vendor
- 3rd party libraries
./css
- Custom CSS styles
./dist
gulp.js
build output
./img
- images
mobile
- mobile application related files