Skip to content

JoeClos/muinaismuistot

 
 

Repository files navigation

Muinaismuistot.info

A web page to show ancient monuments of Finland in mobile friendly map. Enter the site: muinaismuistot.info.

muinaismuistot.info screenshot

Main features

  • Displays Finnish Heritage Agency and Government of Åland ancient monuments open data on map from the National Land Survey of Finland
  • Scales from mobile device to desktop screen
  • Get more info from sites by clicking it
  • Select background map type (background map, topografic map, aerial image)
  • Displays your current location on map if you allow it
  • Search sites by search term
  • Filter sites on map by type and dating
  • Share selected site map coordinates and filter settings by copying the URL
  • UI test translations to finnish and swedish
  • Displays linked ancient monuments 3D models from Sketchfab
  • Shows data latest update dates from source servers

Data

Version history

See GitHub releases

Licence

MIT License

Technologies

Infrastructure

The whole UI is just static html and js files from Webpack build that are hosted in GitHub pages of this repository: https://anttikekki.github.io/muinaismuistot. Cloudflare is used as a reverse proxy to add HTTPS support.

There is no hosted backend server. Browser calls directly data providers map servers to fetch map tile images and data. One AWS Lambda is used as reverse proxy to add CORS headers to request to http://paikkatieto.nba.fi/aineistot/MV_inspire_atom.xml so that UI in browser can acces it from different domain.

muinaismuistot.info infrastructure

Development environment

Requirements

  • Node.js v16 installed. Exact required version is defined in package.json engines field.
  • Only MacOS is tested, Linux should also work. package.json scripts use PARAM=value type parameters that require different syntax on Windows.

Environment setup

  1. Install Node.js
  2. Clone this repository
  3. Run npm install

Commands

npm run dev

Runs UI locally with webpack dev server. Opens system default browser to https://localhost:8091. The UI refreshes automatically after code changes.

npm run prod

Same as npm run dev but uses production build with code minication.

npm run build:dev

Builds development version of the UI with webpack to ./dist folder without code minification and with Redux dev tools support.

npm run build:prod

Builds production version of the UI with webpack to ./dist folder with code minification and without Redux dev tools support.

npm run profile-size

Runs webpack bundle analyzer and opens it's UI to system default browser. Handy tool to analyze what libraries are included in the final build result.

About

Karttasovellus Suomen muinaismuistojen näyttämiseen

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 96.7%
  • JavaScript 1.6%
  • Other 1.7%