Vido is a web map application for browsing POIs organized in categories. The main features are:
Vido is the frontend for the data API.
Vido use aside projects to:
The web application target multiple devices: smartphones, desktops, and large touchscreens.
Full entry points documentation available on api.yml and on server at http://localhost:3000/api.yaml.
/
, /{poi_Id}
, /{category_ids}/
and /{category_ids}/{poi_id}
.boundary
: an alternative boundary key from settings polygons_extra
./embedded/
, same subpath and parameters as full page./poi/{id}/details
./pois/{ids}/map
./category
/category/embedded
menuItemIds=[id,id]
: filters selector entries by categories IDs/category/{id}
/category/embedded/{id}
menuItemIds=[id,id]
: filters selector entries by categories IDs/manifest.webmanifest
/sitemap.xml
Can be build directly (dev) or within Docker.
Prerequisite
# Create empty config file, will be build on `build-config` step
cp vidos-config-empty.json vidos-config.json
# install dependencies
yarn install
# Generate fixtures
yarn build-fixture
# Generate configuration from `vidos.config.ts`
yarn build-config
# serve with hot reload at localhost:3000
yarn dev
# build for production and launch server
yarn build
yarn start
cp .env.sample .env
docker compose build
docker-compose -f docker compose.yml run --rm vido yarn build-config
docker compose up -d
Require server allows CORS on:
/api.yaml
: the swagger specification
Require server allows iframe usage on:/pois/{ids}/map
: map intended to be used as iframe.Apache2 configuration
<Location "/api.yaml">
Header set Access-Control-Allow-Origin "*"
</Location>
<LocationMatch "^/pois/.*/map$">
Header set Content-Security-Policy "frame-ancestors *"
</LocationMatch>
Vido is mainly building using:
# serve with hot reload at localhost:3000
yarn dev
Run Historie with
yarn start:historie
Historie build also available on gh-pages
branch built by CI and online at https://teritorio.github.io/vido/
Run end to end tests with dev server or build:
# With dev
yarn dev
# The run Histoire component screenshot regression tests
yarn test:histoire
# The run end to end tests
yarn test:cypress
$ git checkout develop
$ npm version minor -m "chore: release %s"
$ git push --follow-tags
Then, create a PR from develop
to main
, it will launch the continuous development.
Popup and details special fields support:
addr:*
: combined all address fields.route:*
: all routes activity types and fields.start_end_date
: combined start_date
and end_date
fields.short_description
Special formatting support:
opening_hours
phone
and mobile
Event | Vido event | Vido actions | Google event | Google params | Matomo | Matomo params |
---|---|---|---|---|---|---|
Page loading (homepage, details) | page | pageview | pageTitle, pageLocation, pagePath | trackPageView | title, Url, Origin | |
Navigation on a menu item | menu | pageview | pageTitle, pagePath | trackPageView | title, Url | |
Enable or disable a category | category_event | enable, filter | category_event | action, categoryId | trackEvent | event, action, title, categoryId |
Focus on the search area | search | pageview | pageTitle, pagePath | trackPageView | title, Url | |
Seach query | search_query | trackSiteSearch | query | |||
Selecting a search result | search_result_event | search_result_event | type, title | trackEvent | event, action, title, resultType | |
Opening the popup | popup | pageview | pageTitle, pageLocation, pagePath, poiId | trackPageView | title, Url | |
Action on the popup | popup_event | details, route, explore, favorite, zoom | popup_event | action, title, poiId, category | trackEvent | event, action, title, poiId |
Action on the map control | map_control_event | 3d, background, explorer, favorite | map_control_event | action | trackEvent | event, action |
Action on favorites | favorites_event | open_share, copy_link, exportPDF, exportCSV | favorites_event | action | trackEvent | event, action |
Notebook | notebook_event | open | pageview | pageTitle, pagePath | trackPageView | title, Url |
External links | external_link | external_link | Url, title | trackLink | Url | |
Action on details page | details_event | favorite | details_event | action, title, poiId | trackEvent | event, action, title, poiId |
Note on Matomo. Origin
is a set as dimension 1
and should be configured as is on Matomo.
Enable/Disable: Add the following query parameter in the URL: ?contrib=true|false