Biodiversity Around Me
A web widget that retrieves and displays species observed within an area, based on the GBIF data API or alternative other biodiversity data sources.
https://github.com/pnx-si/bam-widget
Category: Biosphere
Sub Category: Biodiversity Data Access and Management
Keywords
api biodiversity gbif geonature vuejs widget
Last synced: about 9 hours ago
JSON representation
Repository metadata
BAM (Biodiversity Around Me) - A widget to display species observed in any area on earth
- Host: GitHub
- URL: https://github.com/pnx-si/bam-widget
- Owner: PnX-SI
- Created: 2024-11-06T10:02:44.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-12-29T22:04:11.000Z (11 days ago)
- Last Synced: 2026-01-02T02:57:23.698Z (7 days ago)
- Topics: api, biodiversity, gbif, geonature, vuejs, widget
- Language: TypeScript
- Homepage: https://pnx-si.github.io/BAM-widget/docs/
- Size: 39.7 MB
- Stars: 13
- Watchers: 6
- Forks: 1
- Open Issues: 29
- Releases: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
README.md

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.

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 🅱.

✨ 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)!

🚀 Generate your widget!
- Generate your widget -> https://pnx-si.github.io/BAM-widget/#/config
- Documentation: https://pnx-si.github.io/BAM-widget/docs/
- Widget integration examples:
- Basic examples / Source code
- Ecrins huts and biodiversity / Source code
- Falkensee schools and biodiversity / Source code
- Jamaican biodiversity / Source code
- Corcovado treks / Source code
- Geotrek trekking page / Source code
- Biodiversity observed around an event location
- GeoNature demo instance observations in South France / Source code
- Test and explore GBIF observed species: https://pnx-si.github.io/BAM-widget/

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
📄 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.
Owner metadata
- Name: SI des parcs nationaux français
- Login: PnX-SI
- Email:
- Kind: organization
- Description:
- Website:
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/10531541?v=4
- Repositories: 47
- Last ynced at: 2024-03-27T08:49:06.183Z
- Profile URL: https://github.com/PnX-SI
GitHub Events
Total
- Create event: 26
- Release event: 1
- Issues event: 29
- Watch event: 7
- Delete event: 26
- Issue comment event: 24
- Push event: 259
- Pull request review comment event: 3
- Pull request review event: 6
- Pull request event: 46
Last Year
- Create event: 26
- Release event: 1
- Issues event: 29
- Watch event: 7
- Delete event: 26
- Issue comment event: 24
- Push event: 259
- Pull request review comment event: 3
- Pull request review event: 6
- Pull request event: 46
Issue and Pull Request metadata
Last synced: 2 days ago
Total issues: 17
Total pull requests: 22
Average time to close issues: about 2 months
Average time to close pull requests: 1 day
Total issue authors: 2
Total pull request authors: 2
Average comments per issue: 0.35
Average comments per pull request: 0.18
Merged pull request: 14
Bot issues: 0
Bot pull requests: 0
Past year issues: 17
Past year pull requests: 22
Past year average time to close issues: about 2 months
Past year average time to close pull requests: 1 day
Past year issue authors: 2
Past year pull request authors: 2
Past year average comments per issue: 0.35
Past year average comments per pull request: 0.18
Past year merged pull request: 14
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- jacquesfize (11)
- camillemonchicourt (6)
Top Pull Request Authors
- jacquesfize (13)
- camillemonchicourt (9)
Top Issue Labels
- enhancement (2)
Top Pull Request Labels
Dependencies
- actions/checkout v4 composite
- actions/configure-pages v5 composite
- actions/deploy-pages v4 composite
- actions/upload-pages-artifact v3 composite
- 354 dependencies
- @vitejs/plugin-vue ^5.2.1 development
- vite ^6.0.5 development
- vite-plugin-vue-devtools ^7.6.8 development
- @turf/turf ^7.1.0
- bootstrap ^5.3.3
- bootstrap-icons ^1.11.3
- js-cookie ^3.0.5
- leaflet ^1.9.4
- leaflet-draw ^1.0.4
- vue ^3.5.13
- vue-i18n ^10.0.5
- vue-router ^4.5.0
- wellknown ^0.5.0
Score: -Infinity


