A Progressive Web App (PWA) that allows a user to get information about the trees on the Heriot-Watt using QR, Spatial and Speech Synth technologies. Augmented Reality is also experimented with. This project is no longer maintained - a currently maintained version can be seen at https://github.com/ruaridhmollica/trail
Trail is hosted on Heroku and has a full valid SSH certification as well as a custom domain.
- Heroku also hosts the applications database.
- Heroku builds and deploys the web application automatically.
Trail makes use of a PostgreSQL database with the postGIS extension installed for the ability to query and store geospatial data.
This web application is powered by Golang v1.13.1 and handles the following:
- File serving
- Page routing, made easier by the use of the Gin-Gonic/gin framework
- Database connection and querying (using Go-SQL-driver
- Outlining package details and dependencies to Heroku for hosting
To make this web app usable and pretty the following technologies are used:
- HTML
- CSS
- JavaScript (to provide more complex functionality and handle API calls)
- JQuery
- Material Design Bootstrap (to make everything that little bit easier)
- Google Maps Javascript API is used to generate custom, cross-compatible, interactive maps.
- html5-qrcode by Minhaz - this library was crucial in development and allowed for a QR code scanner to be embedded into the web application.
- WriteIT.js by khushit-shah - used for the homepage greeting.
- Google Maps' Marker Clusterer Library
- SpeechSynthesis Web Speech API - used for text to speech synthesis
- User Agent Parser by faisalman on GitHub - used to get the users operating system to prevent vibration API functions calling when a user is running web app on an IOS or Mac OS device. (vibration API. is unsupported by IOS)
- AR.js - Augmetented Reality Web Framework