README.md

November 25, 2025 · View on GitHub

BAM logo

GitHub branch check runs GitHub commit activity GitHub top language

BAM (Biodiversity around me AKA Biodiversité autour de moi AKA Biodiversidad alrededor mío) is a web widget that retrieves and displays species observed within an area, based on the GBIF data API (or alternative other biodiversity data sources).

Its main goal is to make open biodiversity data easily and simply accessible to everyone, everwhere.

Biodiversity data accessible

BAM allows to easily integrate biodiversity species list in your website, around a point, a line, a polygon or your GPS location.

It supports various sources of biodiversity data API such as GBIF 🦋 or a GeoNature instance 🌱, with plans for additional sources.
It retrieves species pictures and sounds from GBIF, Wikidata, INPN or TaxHub API.

The widget is built using Vue.js 3 ⚡, Turf.js ⿻, Leaflet 🗺️, and Bootstrap 🅱.

Widget preview

✨ Features

  • Display species found in a defined area using observations data from GBIF API or from a GeoNature instance
  • Define area based on a specific point, line or polygon, or a GeoJSON, or dynamic geographic objects
  • GPS geolocation
  • Point and line automatic buffer
  • Multiple widget modes: list 📋, map 🗺️
  • Multiple species display mode: detailed or gallery
  • Sort 🔃 and filter species lists
  • Search 🔎 and filter species
  • Share research via link 🔗 or embed in your website 🖥️
  • Multilingual support (EN, FR, ES, CS, DE, IT) 🌐
  • Based only on open API! No server required (except for self-hosting)!

BAM - How it works

🚀 Generate your widget!

BAM architecture

GBIF Ebbe Nielsen challenge 2025

🏆 BAM wins second prize of international GBIF Ebbe Nielsen challenge 2025. ➡️

🎛️ Widget parameters

Each parameter can be set via URL query or through the widget configuration interface /config.

ParameterTypePurpose / UsageExample / Values
buffernumberBuffer size of the search area (m)500
wktstringWell-Know Text geometry (search area)"POINT(2.35 48.85)"
dateMinstringMinimum observation date"2024-01-01"
dateMaxstringMaximum observation date"2024-12-31"
connectorstringData source connector (GBIF, GeoNature, ...)"GBIF"
nbTaxonPerLinenumberNumber of species per line in the list view4
nbDisplayedSpeciesnumberThe number of species displayed. The n species are selected among the most frequently observed species.4
showFiltersbooleanShow/hide filters in the species listtrue / false
mapEditablebooleanAllow editing geometry on the maptrue / false
langstringLanguage code for UI"en", "fr", "es"
modestringSpecies list display mode (gallery, detailedList)"detailedList"
sourceGeometrystringA URL to a GeoJSON that will be used to define the selected area. The given geometry is simplified due to the character limit of an URL."https://..."
classstringTaxonomic class filter (e.g., Mammalia, Aves) Check taxonclass2icon.js for more detail."Mammalia"
widgetTypestringWidget display mode (list, others)"list"
switchModeAvailablebooleanEnable switching between list/gallery species display modestrue / false
xnumberLongitude for point geometry2.35
ynumberLatitude for point geometry48.85
customDetailPagestringCustom URL for species detail redirection. The species ID part of the URL must be indicated by the string {taxonID} so it can be replaced by the actual species' ID. For example, https://www.gbif.org/species/{taxonID}"https://.../{taxonID}"
soundSourcestringName of the data source use to fetch animal sounds.[gbif]
imageSourcestringName of the data source use to fetch species pictures.[wikidata, gbif, inpn, taxhub]
primaryColorstringHexadecimal color for footer background. Color must be in format RRGGBB.'aaa'
filtersOnListbooleanIf filters are displayed on the species list or above. true.true / false

⚙️ Self-hosting

BAM is a widget hosted on Github and directly usable without installation or server.
But you can choose to install it locally or on your server to develop or host it.

Clone or download the source code from this Github repository.

📦 Install packages

npm install

🛠️ Compile and Hot-Reload for Development

npm run dev

🏗️ Compile and Minify for Production

npm run build

👥 Contributors

Conceived and developed by

  • @jacquesfize (Parc national des Écrins)
  • @amandine-sahl (Parc national des Cévennes)
  • @camillemonchicourt (Parc national des Écrins)
  • @CynthiaBorotPNV (Parc national de la Vanoise)
  • @EcMerc (Parc national du Mercantour)
  • @SimonChevereau (Office Français de la Biodiversité)
  • @babastienne (Makina Corpus)
  • @trendspotter

image

image

image

📄 License

This project is licensed under the MIT License.

📝 Changelog

See CHANGELOG.md for features and updates.

❓ Issues

For questions or bug reports, please use GitHub Issues.