wheretowork

Interactive application for systematic conservation planning

https://github.com/ncc-cnc/wheretowork

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 8 committers (12.5%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.2%) to scientific vocabulary

Keywords

cons-tech prz web-app
Last synced: 6 months ago · JSON representation

Repository

Interactive application for systematic conservation planning

Basic Info
Statistics
  • Stars: 11
  • Watchers: 4
  • Forks: 2
  • Open Issues: 50
  • Releases: 5
Topics
cons-tech prz web-app
Created almost 5 years ago · Last pushed 12 months ago
Metadata Files
Readme Changelog License

README.Rmd

---
output:
  rmarkdown::github_document:
    html_preview: no
---



# Where to Work: Interactive systematic conservation planning application

[![lifecycle](https://img.shields.io/badge/Lifecycle-stable-brightgreen.svg)](https://lifecycle.r-lib.org/articles/stages.html)
[![R-CMD-check-Ubuntu](https://img.shields.io/github/actions/workflow/status/ncc-cnc/wheretowork/R-CMD-check-ubuntu.yaml?branch=master&label=Ubuntu)](https://github.com/NCC-CNC/wheretowork/actions)
[![R-CMD-check-Windows](https://img.shields.io/github/actions/workflow/status/ncc-cnc/wheretowork/R-CMD-check-windows.yaml?branch=master&label=Windows)](https://github.com/NCC-CNC/wheretowork/actions)
[![Docker Status](https://img.shields.io/docker/cloud/build/naturecons/wheretowork?label=Docker%20build)](https://hub.docker.com/r/naturecons/wheretowork)
[![Coverage Status](https://codecov.io/github/NCC-CNC/wheretowork/coverage.svg?branch=master)](https://codecov.io/github/NCC-CNC/wheretowork?branch=master)

```{r, include = FALSE}
knitr::opts_chunk$set(fig.path = "man/figures/README-", fig.align = "center")
```

```{r, include = FALSE}
devtools::load_all()
h = 2.75
w = 3.0
ow = "400"
```

The _Where To Work_ application is a decision support tool to help prioritize conservation efforts for the [Nature Conservancy of Canada](https://natureconservancy.ca/en/). It provides an interactive interface for conducting systematic conservation planning exercises, and uses mathematical optimization algorithms to generate solutions.

## Usage

The application is [available online](https://ncc.carleton.ca). Please note that you must use [Google Chrome](https://www.google.com/chrome/) for it to work.

## Installation The application is available as an online service provided by the [Nature Conservancy of Canada](https://natureconservancy.ca/en/). If you need to run the application on your own computer, then you can run it using the [R statistical computing environment](https://www.r-project.org/), [Docker](https://www.docker.com/), or [Docker Compose](https://docs.docker.com/compose/). ### Using R To use this method, you will need to install the [R statistical computing environment](https://www.r-project.org/). After completing the installation, you can install the application using the following R code: ```{r, eval = FALSE} if (!require(remotes)) install.packages("remotes") remotes::install_github("NCC-CNC/wheretowork") ``` You can then use the following R code to start the application and open it in your web browser: ```{r, eval = FALSE} wheretowork::run_app() ``` ### Using Docker To use this method, you will need to install [Docker Engine](https://www.docker.com/) ([see here for instructions](https://docs.docker.com/get-docker/)). After completing this step, you can install the application from the [DockerHub repository](https://hub.docker.com/repository/docker/naturecons/wheretowork). Specifically, please use the following system command: ```{bash, eval = FALSE} docker run -dp 3838:3838 --name wheretowork -it naturecons/wheretowork:latest ``` You can then view the application by opening the following link in [Google Chrome](https://www.google.com/chrome/): http://localhost:3838. After you have finished using the application, you can terminate it using the following system command. **Note that if you don't terminate the application once you are finished using it, then it will continue running in the background.** ```{bash, eval = FALSE} docker rm -f wheretowork ``` ### Using Docker Compose To use this method, you will need to install [Docker Engine](https://www.docker.com/) ([see here for instructions](https://docs.docker.com/get-docker/)) and Docker Compose ([see here for instructions](https://docs.docker.com/compose/install/)). After installing both programs, you can install the application by [cloning this repository](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/cloning-a-repository) and then using the following system commands: ```{bash, eval = FALSE} docker-compose pull docker-compose up -d ``` You can then view the application by opening the following link in [Google Chrome](https://www.google.com/chrome/): http://localhost:3838. After you have finished using the application, you can terminate it using the following system command. **Note that if you don't terminate the application once you are finished using it, then it will continue running in the background.** ```{bash, eval = FALSE} docker-compose down ``` ## Contributing The application is a [Shiny web application](https://mastering-shiny.org/) developed using the [R statistical computing environment](https://www.r-project.org/). Specifically, it uses the [`golem` framework](https://thinkr-open.github.io/golem/). This means that the application is effectively an [R package](https://r-pkgs.org/) that contains code for defining and launching the application ([see here for more details](https://engineering-shiny.org/)). The R code files (located in the `./R` directory) are organized using the following naming conventions: * `app_*`: Defines the web application: * `app_config.R`: Imports configuration settings. * `app_global.R`: Initializes the application. It performs a similar to the `global.R` file in typical Shiny applications. * `app_server.R`: Defines the (back-end) server-side logic for the application. It performs a similar role to the `server.R` file in typical Shiny applications. * `app_ui.R`: Defines the (font-end) user interface for the application. It performs a similar role to the `ui.R` file in typical Shiny applications. * `server_*`: Defines components used to assemble the server-side logic for the application. * `ui_`*: Defines functions used to programmatically create HTML elements for the front-end of the application. * `class_*`: Defines object orientated programming classes used in the back-end of the application. These classes are implemented using [R6 class system](https://r6.r-lib.org/). * `fct_*`: Defines R functions used in the back-end of the application. These files contain code used to perform analyses and manipulate the classes. * `widget_*`: Defines custom widgets used by the application. These widgets are implemented using the [`htmlwidgets` framework](https://www.htmlwidgets.org/). * `utils_*`: Defines utility R functions used in the back-end of the application. ## Getting help Thank you for checking out this application. If you encounter any software defects (e.g. application crashes, unexpected behavior, or spelling mistakes), please feel free to post them on the [issue tracker](https://github.com/NCC-CNC/wheretowork/issues). If you have any questions about using this application, please contact [Dr. Richard Schuster](https://www.richard-schuster.com/) ([richard.schuster@natureconservancy.ca](mailto:richard.schuster@natureconservancy.ca)) or [Prof. Joe Bennett](https://carleton.ca/bennett-lab/lab-members/) ([JosephBennett@cunet.carleton.ca](mailto:mailto:JosephBennett@cunet.carleton.ca)).

Owner

  • Name: NCC-CNC
  • Login: NCC-CNC
  • Kind: organization

GitHub Events

Total
  • Create event: 12
  • Release event: 1
  • Issues event: 18
  • Watch event: 1
  • Delete event: 1
  • Issue comment event: 67
  • Push event: 35
  • Pull request event: 46
  • Fork event: 1
Last Year
  • Create event: 12
  • Release event: 1
  • Issues event: 18
  • Watch event: 1
  • Delete event: 1
  • Issue comment event: 67
  • Push event: 35
  • Pull request event: 46
  • Fork event: 1

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 586
  • Total Committers: 8
  • Avg Commits per committer: 73.25
  • Development Distribution Score (DDS): 0.21
Past Year
  • Commits: 13
  • Committers: 2
  • Avg Commits per committer: 6.5
  • Development Distribution Score (DDS): 0.231
Top Committers
Name Email Commits
Jeffrey Hanson j****n@u****u 463
Dan Wismer D****r@n****a 55
HanqingZhou 7****u 35
Jazmin Romero j****o@J****l 17
Xavier C. Llano x****o@g****m 6
ricschuster r****r@g****a 5
Marc Edwards 1****c 4
tanvirislamcu 7****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 150
  • Total pull requests: 101
  • Average time to close issues: 3 months
  • Average time to close pull requests: 13 days
  • Total issue authors: 6
  • Total pull request authors: 7
  • Average comments per issue: 4.45
  • Average comments per pull request: 2.08
  • Merged pull requests: 82
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 19
  • Pull requests: 31
  • Average time to close issues: 12 days
  • Average time to close pull requests: 2 days
  • Issue authors: 4
  • Pull request authors: 3
  • Average comments per issue: 3.79
  • Average comments per pull request: 0.48
  • Merged pull requests: 24
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jeffreyhanson (61)
  • DanWismer (59)
  • edwardsmarc (18)
  • ricschuster (5)
  • jgvincent (1)
  • tanvirislamcu (1)
Pull Request Authors
  • DanWismer (63)
  • jeffreyhanson (27)
  • HanqingZhou (15)
  • XavierCLL (13)
  • edwardsmarc (4)
  • romerojazmin (2)
  • tanvirislamcu (1)
Top Labels
Issue Labels
enhancement (42) bug (30) help wanted (29) documentation (17) high priority (14) sometime (10) question (6) Weights (2) invalid (1) good first issue (1)
Pull Request Labels
help wanted (5) enhancement (1)

Packages

  • Total packages: 2
  • Total downloads: unknown
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 8
proxy.golang.org: github.com/ncc-cnc/wheretowork
  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
proxy.golang.org: github.com/NCC-CNC/wheretowork
  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago

Dependencies

DESCRIPTION cran
  • R >= 4.0.0 depends
  • R6 >= 2.5.0 depends
  • promises >= 1.2.0.1 depends
  • raster >= 3.4.10 depends
  • sf >= 0.9.8 depends
  • shinyBS >= 0.6.1 depends
  • DT >= 0.18 imports
  • Matrix >= 1.3 imports
  • R.utils >= 2.10.1 imports
  • RColorBrewer >= 1.1.2 imports
  • assertthat >= 0.2.0 imports
  • cachem >= 1.0.5 imports
  • cli >= 3.0.0 imports
  • colourpicker >= 1.1.0 imports
  • config >= 0.3.1 imports
  • data.table >= 1.14.0 imports
  • digest >= 0.6.27 imports
  • dplyr >= 1.0.6 imports
  • fasterize >= 1.0.3 imports
  • future >= 1.21.0 imports
  • golem >= 0.3.1 imports
  • htmltools >= 0.5.1.1 imports
  • htmlwidgets >= 1.5.3 imports
  • igraph >= 1.2.6 imports
  • ipc >= 0.1.3 imports
  • leaflet >= 2.0.3.9000 imports
  • leaflet.extras2 >= 1.1.0 imports
  • markdown >= 1.1 imports
  • methods * imports
  • openxlsx >= 4.2.3 imports
  • pkgload >= 1.2.1 imports
  • plyr >= 1.8.6 imports
  • prioritizr >= 7.1.1 imports
  • pryr >= 0.1.4 imports
  • rcbc >= 0.1.0.9001 imports
  • readxl >= 1.3.1 imports
  • rgdal >= 1.5.23 imports
  • rlang >= 0.4.11 imports
  • scales >= 1.1.1 imports
  • shiny >= 1.6.0 imports
  • shinyFeedback >= 0.3.0 imports
  • shinyWidgets >= 0.6.0 imports
  • shinyalert >= 2.0.0 imports
  • shinybusy >= 0.2.2 imports
  • shinyjs >= 2.0.0 imports
  • stats * imports
  • stringi >= 1.7.3 imports
  • tibble >= 3.1.1 imports
  • tools >= 4.0.5 imports
  • units >= 0.7.2 imports
  • utils * imports
  • uuid >= 0.1.4 imports
  • viridisLite >= 0.4.0 imports
  • withr >= 2.4.2 imports
  • yaml >= 2.2.1 imports
  • RandomFields >= 3.3.8 suggests
  • devtools >= 2.4.2 suggests
  • knitr >= 1.2.0 suggests
  • pkgdown >= 1.6.1.9001 suggests
  • processx >= 3.5.2 suggests
  • rmarkdown >= 1.10 suggests
  • roxygen2 >= 6.1.1 suggests
  • rsconnect >= 0.8.18 suggests
  • rvest >= 1.0.0 suggests
  • testthat >= 2.0.1 suggests
  • whereami >= 0.1.9 suggests
  • xml2 >= 1.3.2 suggests
.github/workflows/R-CMD-check-ubuntu.yaml actions
  • actions/checkout v3 composite
  • actions/upload-artifact main composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
.github/workflows/R-CMD-check-windows.yaml actions
  • actions/checkout v3 composite
  • actions/upload-artifact main composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
Dockerfile docker
  • base latest build
  • rocker/shiny 4.1.0 build
docker-compose.yml docker
  • naturecons/wheretowork latest