biodiversity-webmap-template

Simple Biodiversity Web Map

Turn field notes into an online, interactive species-occurrence map in minutes.
Everything runs on a free static site (GitHub Pages) — no server, no database.

GitHub Pages Docs License: MIT

Quick access


What is this?

A low-infrastructure method for small biodiversity teams (labs, NGOs, classes) to publish species observations as an interactive web map. The app reads four plain-text files at load time:

You can edit all four files with any text editor or export them from spreadsheets via the built-in converters. To make something like this: WebMap

Its also come with detail, if you click on one point to pop up detail for single observation: PopUp

Its quite easy to follow, you just edited (or add) datas within four .txt files and its finish, just like that. You can put it in github pages (for free) or in your hosting without more resource (no need for databases) or you can also run in in your local server. Concept


Features


Repository structure

app/
index.html
assets/
css/styles.css
js/app.js
data/
data_species.txt
data_mappoints.txt
data_language.txt
data_setting.txt
images/ # species photos/icons referenced from data_species.txt
docs/ # how-to guide (served on Pages)
template/ # blank starter you can copy
tools/
csv-to-txt/ # CSV converter (browser-based)
xlsx-to-txt/ # XLSX converter (browser-based)

File formats (quick reference)

app/data/data_species.txt

name | color | image

Example

Perkutut Jawa (Geopelia striata) | #377eb8 | images/PerkututJawa.jpg

app/data/data_mappoints.txt

date | time | species | count | district | coord | habitat | location | activity

Example

2025-08-21 | 06:15 | Perkutut Jawa (Geopelia striata) | 2 | Sario | -1.481, 124.846 | Pekarangan | Pohon ketapang depan rumah | Menyanyi

app/data/data_language.txt

INI-style language blocks + key=value lines:

[id]
appTitle=Informasi Sebaran Burung di Kota Manado
legendTitle=Spesies
details.date=Tanggal
...
[en]
appTitle=Birds Distribution Information in Manado
legendTitle=Species
details.date=Date
...

app/data/data_setting.txt

scale = 12 # initial zoom (city ~12, neighborhood ~15)
theme = light # light | dark
language = local # local=id, translate=en
mapType = default # default | satellite | terrain
showImages = true # true/false | 1/0
showRoad = 1 # 0=show labels/roads, 1=hide labels

Full details and screenshots: see Docs.


How to use

Option A — Start from the blank template

  1. Download/copy files from template/.
  2. Fill the four data_*.txt files with your species and points.
  3. Open app/index.html locally (or publish on Pages).

Option B — Convert your spreadsheet first

Publish on GitHub Pages

  1. Push this repo to GitHub.
  2. Settings > Pages > Deploy from a branch > Branch: main, Folder: / (root)
  3. Your site will be at:
    https://sanriomisintaro.github.io/biodiversity-webmap-template/

When to use (and when not)


Cite / credit

If you use this template in a publication or report, please cite the repository and (if available) the archived release DOI. (not ready yet to cite)


License


Sensitive species

If needed, generalize or mask coordinates before publishing (e.g., round to 0.01° or remove precise sites). Please never publish the exact locations of sensitive taxa. We mean it, especially for endangered and protected taxa.


Troubleshooting


Acknowledgements

Built with lightweight web tech (vanilla HTML/CSS/JS). Map tiles from OpenStreetMap / imagery providers as configured in the app.