This app is deployed at:
- shinyapps.io: Biodiversity Dashboard
- Possit Connect Cloud: Biodiversity Dashboard [Note: this link is currently inactive since the free version only supports public repositories.]
This R Shiny dashboard helps visualize the biodiversity data from Global Biodiversity Information Facility.
-
Species Visualization Map: Biodiversity observations can be viewed on the map by selecting a country and a species or vernacular name.
-
Species Visualization Timeline: The timeline of when individuals were spotted can be seen as an interactive plotly plot.
Additional Features:
-
Hover over the map markers to count the total number of individuals spotted in a certain area.
-
Compare the timeline of a species with other species by using the
Add Animals To Plotoption in the sidebar of the timeline plot. This will add multiple timelines, one for each selected species (colored by species).
-
Beautiful UI: This app includes a custom theme made using bslib and custom CSS styling. This ensures that the app matches the Appsilon theme.
-
Performance Optimization: This app is optimized to load data on demand. This ensures that the map and the plots are fast to load.
-
JavaScript: Interactive elements have been utilized in the app such as
- Hover to display additional data on map markers
- Interactive plotly js plot for the timeline
- Ability to add and compare the timeline of multiple species
-
Infrastructure: This app has also been deployed on Posit Connect @ Biodiversity Dashboard.
The data has been pre-processed and cleaned and is split by country into multiple CSV files in the data folder. Each country has a unique CSV file loaded on demand when the user selects that country.
This preprocessing ensures that the app is optimized and that the dataset is processed quickly.
Note: Data for two countries (France and Spain) has been excluded from the app since their sizes were larger than GitHub's file limit of 100MB. Apart from this, all deformed data has been filtered out.
Note: Before running make sure to have the following dependencies installed:
glue
shiny
bslib
dplyr
plotly
ggplot2
leaflet
stringr
data.table
The app can be launched locally using the following command:
shiny::runApp("<path to app folder>")
Tests for this app can be run using the following command:
shiny::runTests("<path to app folder>")

