Skip to content

PnX-SI/BAM-widget

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

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.

Parameter Type Purpose / Usage Example / Values
buffer number Buffer size of the search area (m) 500
wkt string Well-Know Text geometry (search area) "POINT(2.35 48.85)"
dateMin string Minimum observation date "2024-01-01"
dateMax string Maximum observation date "2024-12-31"
connector string Data source connector (GBIF, GeoNature, ...) "GBIF"
nbTaxonPerLine number Number of species per line in the list view 4
nbDisplayedSpecies number The number of species displayed. The n species are selected among the most frequently observed species. 4
showFilters boolean Show/hide filters in the species list true / false
mapEditable boolean Allow editing geometry on the map true / false
lang string Language code for UI "en", "fr", "es"
mode string Species list display mode (gallery, detailedList) "detailedList"
sourceGeometry string A 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://..."
class string Taxonomic class filter (e.g., Mammalia, Aves) Check taxonclass2icon.js for more detail. "Mammalia"
widgetType string Widget display mode (list, others) "list"
switchModeAvailable boolean Enable switching between list/gallery species display modes true / false
x number Longitude for point geometry 2.35
y number Latitude for point geometry 48.85
customDetailPage string Custom 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}"
soundSource string Name of the data source use to fetch animal sounds. [gbif]
imageSource string Name of the data source use to fetch species pictures. [wikidata, gbif, inpn, taxhub]
primaryColor string Hexadecimal color for footer background. Color must be in format RRGGBB. 'aaa'
filtersOnList boolean If 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.

About

BAM (Biodiversity Around Me) - A widget to display species observed in any area on earth

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 7