Mezzo Forte GeoXp Docs

Mezzo Forte

Mezzo Forte GeoXp

Version Badge license typescipt styled with prettier linted with eslint Conventional Commits Netlify Status


A cross platform, cross environment JS library that automates a multimedia geolocated tour.


github-logo


https://geoxp.mezzoforte.design

Mezzo Forte GeoXp maps media contents to geographical locations and automatically reproduces them based on configuration rules.

It’s meant to be used in any JS environment, front or back end, regardless of the JS framework or platform.

The library is made of modules, with the main one being "core", while plugin modules are available to implement platform specific features.

Plugins are not mandatory, you can use the core and develop your own code to provide gelocation and consume media events (such as audio/video players or anything else you have in mind!).

The library is made of modules, with the main one being "core", while plugin modules are available to implement platform specific features.

You can install individual packages, according to your needs:

# npm
npm install @geoxp/core
npm install @geoxp/web-audio

# yarn
yarn add @geoxp/core
yarn add @geoxp/web-audio

If you're gonna use it in the browser, you most likely want to install the Web wrapper:

# npm
npm install @geoxp/web

# yarn
yarn add @geoxp/web

Keep reading to understand better how this piece of software works :)

GeoXpCore module is the heart of the GeoXp experience. It maps media management events based on set of rules.

It's cross platform, cross environment, and can be used in any js based project, front end or backend.

GeoXpWebAudio plugin provides audio playback features to GeoXpCore module.

Based on howler.js, it can be used in any web browser environment.

GeoXpWebGeolocation plugin provides user geolocation based on navigator.geolocation API.

It can be used in any web browser environment.

GeoXpWebStorage plugin provides persistent storage to GeoXpCore using cookies.

It can be used in any web browser environment.


A wrapper intended to be used in a browser environment that unifies four essential packages —Core, Web Audio, Web Geolocation, and Web Storage — into a single, easy-to-use package.

A collection of utilities shared by the packages.

Contributing

To contribute to this project, fork the repository, work on a development branch and open a MR. Remember to update the changelog (CHANGELOG.md)!

For repo admins: to release a new version, follow these steps:

  • verify and test changes
  • verify CHANGELOG.md has been updated
  • merge MR in main
  • publish a new version with yarn new:publish
  • create a new release in the release section

Examples


Credits

  • concept - Mezzo Forte
  • development - Francesco Cretti & Giuliano Buratti
  • music for example application - Bensound
MMNEPVFCICPMFPCPTTAAATR