# inbo/bird-tracking architecture

> Architecture diagram of the GitHub repository inbo/bird-tracking, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/inbo/bird-tracking
- Repository: https://github.com/inbo/bird-tracking

## Overview

This repository is a collection of R-based workflows for publishing bird-tracking data to Movebank, Zenodo, GBIF and OBIS. Its user-facing purpose is to take GPS-tracking and colour-ringing datasets through conversion or preparation workflows and publish them; the tree also shows outlier processing and shared download/reference-data helpers. The README excerpt documents the overall publishing capability, but no source excerpts were provided, so links between individual scripts, helpers, datasets and destinations cannot be verified. Edges below reflect only the README’s general publication statement.

Main entry points: [`src`](https://github.com/inbo/bird-tracking/tree/main/src) (Publication workflows)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workflows["Data workflows"]
  node_publishing["Publication workflows"]
  node_movebank_conversion["Movebank conversion"]
  node_spreadsheet_conversion["Spreadsheet conversion"]
  node_uvabits_conversion["UvA-BiTS conversion"]
  node_crbirding_gbif["CRBirding to GBIF"]
  node_zenodo_gbif["Zenodo to GBIF<br/>[zenodo_to_gbif.Rmd]"]
  node_gulliver["Gulliver workflow<br/>[gulliver.Rmd]"]
  node_outlier_workflow["Outlier workflow<br/>[outliers.Rmd]"]
end

subgraph group_helpers["Shared helpers"]
  node_download_helper["Data download<br/>[download_data.R]"]
  node_reference_helper["Reference data"]
  node_outlier_helper["Mark outliers<br/>[mark_outliers.R]"]
end

subgraph group_data["Processed datasets"]
  node_processed_data[("Processed datasets")]
end

node_user(("Data publisher"))
node_movebank["Movebank"]
node_zenodo["Zenodo"]
node_gbif["GBIF"]
node_obis["OBIS"]

node_user -->|"runs"| node_publishing
node_publishing -->|"publishes data"| node_movebank
node_publishing -->|"publishes data"| node_zenodo
node_publishing -->|"publishes data"| node_gbif
node_publishing -->|"publishes data"| node_obis

click node_publishing "https://github.com/inbo/bird-tracking/tree/main/src"
click node_movebank_conversion "https://github.com/inbo/bird-tracking/blob/main/src/movebank_to_frictionless.Rmd"
click node_spreadsheet_conversion "https://github.com/inbo/bird-tracking/blob/main/src/spreadsheet_to_movebank.Rmd"
click node_uvabits_conversion "https://github.com/inbo/bird-tracking/blob/main/src/uvabits_to_movebank.Rmd"
click node_crbirding_gbif "https://github.com/inbo/bird-tracking/blob/main/src/crbirding_to_gbif.Rmd"
click node_zenodo_gbif "https://github.com/inbo/bird-tracking/blob/main/src/zenodo_to_gbif.Rmd"
click node_gulliver "https://github.com/inbo/bird-tracking/blob/main/src/gulliver.Rmd"
click node_outlier_workflow "https://github.com/inbo/bird-tracking/blob/main/src/outliers.Rmd"
click node_download_helper "https://github.com/inbo/bird-tracking/blob/main/src/functions/download_data.R"
click node_reference_helper "https://github.com/inbo/bird-tracking/blob/main/src/functions/get_reference_data.R"
click node_outlier_helper "https://github.com/inbo/bird-tracking/blob/main/src/functions/mark_outliers.R"
click node_processed_data "https://github.com/inbo/bird-tracking/tree/main/data/processed"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_publishing,node_movebank_conversion,node_spreadsheet_conversion,node_uvabits_conversion,node_crbirding_gbif,node_zenodo_gbif,node_gulliver,node_outlier_workflow toneBlue
class node_download_helper,node_reference_helper,node_outlier_helper toneAmber
class node_processed_data toneMint
class node_user,node_movebank,node_zenodo,node_gbif,node_obis toneIndigo
```

## Components

### Data workflows

- [Publication workflows](https://github.com/inbo/bird-tracking/tree/main/src): `src`
- [Movebank conversion](https://github.com/inbo/bird-tracking/blob/main/src/movebank_to_frictionless.Rmd): `src/movebank_to_frictionless.Rmd`
- [Spreadsheet conversion](https://github.com/inbo/bird-tracking/blob/main/src/spreadsheet_to_movebank.Rmd): `src/spreadsheet_to_movebank.Rmd`
- [UvA-BiTS conversion](https://github.com/inbo/bird-tracking/blob/main/src/uvabits_to_movebank.Rmd): `src/uvabits_to_movebank.Rmd`
- [CRBirding to GBIF](https://github.com/inbo/bird-tracking/blob/main/src/crbirding_to_gbif.Rmd): `src/crbirding_to_gbif.Rmd`
- [Zenodo to GBIF](https://github.com/inbo/bird-tracking/blob/main/src/zenodo_to_gbif.Rmd): `src/zenodo_to_gbif.Rmd`
- [Gulliver workflow](https://github.com/inbo/bird-tracking/blob/main/src/gulliver.Rmd): `src/gulliver.Rmd`
- [Outlier workflow](https://github.com/inbo/bird-tracking/blob/main/src/outliers.Rmd): `src/outliers.Rmd`

### Shared helpers

- [Data download](https://github.com/inbo/bird-tracking/blob/main/src/functions/download_data.R): `src/functions/download_data.R`
- [Reference data](https://github.com/inbo/bird-tracking/blob/main/src/functions/get_reference_data.R): `src/functions/get_reference_data.R`
- [Mark outliers](https://github.com/inbo/bird-tracking/blob/main/src/functions/mark_outliers.R): `src/functions/mark_outliers.R`

### Processed datasets

- [Processed datasets](https://github.com/inbo/bird-tracking/tree/main/data/processed): `data/processed`

### Other components

- **Data publisher**
- **Movebank**
- **Zenodo**
- **GBIF**
- **OBIS**

## Connections

- Data publisher → Publication workflows: runs (evidence: `README.md`)
- Publication workflows → Movebank: publishes data (evidence: `README.md`)
- Publication workflows → Zenodo: publishes data (evidence: `README.md`)
- Publication workflows → GBIF: publishes data (evidence: `README.md`)
- Publication workflows → OBIS: publishes data (evidence: `README.md`)
