Skip to content

Commit

Permalink
Merge pull request #1 from SimonGoring/main
Browse files Browse the repository at this point in the history
Updating the README and personas.
  • Loading branch information
flor14 authored Sep 18, 2024
2 parents 1bc9801 + 474dc54 commit 1822f87
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 37 deletions.
74 changes: 37 additions & 37 deletions README.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -14,59 +14,62 @@ knitr::opts_chunk$set(
# Neotoma Lakes App <img src="www/neotomalakes_logo.png" align="right" height="200" />

<!-- badges: start -->
[![NSF-1948926](https://img.shields.io/badge/NSF-1948926-blue.svg)](https://www.nsf.gov/awardsearch/showAward?AWD_ID=1948926)
[![check-app](https://github.com/flor14/neotoma-lakes/actions/workflows/check-app.yaml/badge.svg)](https://github.com/flor14/neotoma-lakes/actions/workflows/check-app.yaml)
[![codecov](https://codecov.io/gh/flor14/neotoma-lakes/branch/main/graph/badge.svg)](https://codecov.io/gh/flor14/neotoma-lakes)
<!-- badges: end -->

The [Neotoma Paleoecology Database (“Neotoma”)](https://www.neotomadb.org/) is
more than a database! Neotoma is a database, a software ecosystem, and a community.
The [Neotoma Paleoecology Database (“Neotoma”)](https://www.neotomadb.org/) is more than a database! Neotoma is a database, a software ecosystem, and a community.

Neotoma provides an underlying cyberinfrastructure that enables the development
of common software tools for data ingest, discovery, display, analysis, and
distribution, while giving domain scientists control over critical taxonomic
and other data quality issues.
Neotoma provides an underlying cyberinfrastructure that enables the development of common software tools for data ingest, discovery, display, analysis, and distribution, while giving domain scientists control over critical taxonomic and other data quality issues.

A critical element of the underlying Neotoma infrastructure is the stewardship of Neotoma data, both during the data upload process, and the ongoing stewardship of data as new data becomes available. For many lake sites, early software limitations meant that data could only be entered in as a point or a simple bounding box. As our research questions have become more complex, we've recognized the need for more detailed spatial data, including information about lake area, elevation and even lake bathymetry that the legacy data does not support.

This project aims to help researchers improve Neotoma legacy data by linking Neotoma sites to lake metadata encoded within the Lakes10k project.

## What is Neotoma Lakes app?

The Neotoma Lakes app is an R-Shiny application designed to assist in improving
lake entries within the Neotoma database.
The Neotoma Lakes app is an R-Shiny application designed to assist in improving lake entries within the Neotoma database.

1. Begin by entering the SiteID:
![](www/siteid_screen.png)
2. Water bodies from the [Hydrolakes DB](https://wp.geog.mcgill.ca/hydrolab/hydrolakes/) near the site will be displayed in blue.
Clicking on these water bodies allows you to access information within
the Hydrolakes DB associated with each lake on the right panel. If one of these
lakes represents better the Neotoma DB Site, you can submit it along with comments.
![](www/hydrolakes_screen.png)
3. If you cannot find a polygon representing your water body in the Hydrolakes
DB, you have the option to create your own polygon. In doing so, you'll be able
to view the information about the polygon in the right panel and submitting it
to improe the database.
![](www/create_poly_screen.png)

![Entering a single site identifier to locate a lake spatially.](www/siteid_screen.png)

2. Water bodies from the [Hydrolakes DB](https://wp.geog.mcgill.ca/hydrolab/hydrolakes/) near the site will be displayed in blue. Clicking on these water bodies allows you to access information within the Hydrolakes DB associated with each lake on the right panel. If one of these lakes represents better the Neotoma DB Site, you can submit it along with comments.

![A screenshot of the the spatial representation of the site, along with associated (and nearby) lakes from the HydroLakes database.](www/hydrolakes_screen.png)

3. If you cannot find a polygon representing your water body in the Hydrolakes DB, you have the option to create your own polygon. In doing so, you'll be able to view the information about the polygon in the right panel and submitting it to improve the database.

![A screenshot of the editor, with the option to add a new site polygon based on site information.](www/create_poly_screen.png)

## Development

* [Simon Goring](http://goring.org): University of Wisconsin - Madison [![orcid](https://img.shields.io/badge/orcid-0000--0002--2700--4605-brightgreen.svg)](https://orcid.org/0000-0002-2700-4605)
* [Florencia D'Andrea](https://florencia.netlify.app/) [![orcid](https://img.shields.io/badge/orcid-0000--0002--0041--097X-brightgreen.svg)](https://orcid.org/0000-0002-0041-097X)

## App Access and Local Deployment
#### Accessing the App

The application can be accessed through the link available in the 'About'
section of this GitHub repository.
### Accessing the App

The application can be accessed through the link available in the 'About' section of this GitHub repository.

#### Running the App Locally

To run the app on your local machine using Docker, follow these steps:

1 - Clone or Download the Repository
1. Clone or Download the Repository
Example using the terminal:

```
git clone git@github.com:flor14/neotoma-lakes.git
```

2 - Install Docker Desktop
2. Install Docker Desktop

Install [Docker Desktop](https://www.docker.com/products/docker-desktop/)
if you haven't done so yet and open it.
Install [Docker Desktop](https://www.docker.com/products/docker-desktop/) if you haven't done so yet and open it.

3 - Building the App
1. Building the App

Navigate to the folder where the project is located.
Execute the `docker build` command to generate the Docker image:
Expand All @@ -81,22 +84,19 @@ This step can take some minutes. Then, start the app with this command:
```
docker run --rm -p 3838:3838 neotomalakesapp
```
**Note:** If you are using a Mac M1/M2,
please add the argument `--platform linux/amd64`
to the last command.

**Note:** If you are using a Mac M1/M2, please add the argument `--platform linux/amd64` to the last command.

The app will now be accessible locally at `http://localhost:3838`.

## Community guidelines

Report Issues:

- Questions, feedback, bug reports: please open an issue in the issue tracker of the project [here](https://github.com/flor14/neotoma-lakes/issues).

Contribution to the software:
### Report Issues

- Please open an issue in the issue tracker of the project that describes the changes you would like to make to the software and open a pull request with the changes. The description of the pull request must reference the corresponding issue.
Questions, feedback, bug reports: please open an issue in the issue tracker of the project [here](https://github.com/flor14/neotoma-lakes/issues).

- Join the [Neotoma Community](https://www.neotomadb.org/about/join-the-neotoma-community)
### Contribution to the software

Please open an issue in the issue tracker of the project that describes the changes you would like to make to the software and open a pull request with the changes. The description of the pull request must reference the corresponding issue.

Join the [Neotoma Community](https://www.neotomadb.org/about/join-the-neotoma-community)
25 changes: 25 additions & 0 deletions persona.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# User Centered Design Personas

## Persona A: Santiago, a Neotoma Data Steward

Santiago is a Neotoma data steward. He has significant experience with Neotoma, uploading records directly using the Tilia software package. He understands the data structure of Neotoma (sites, datasets, collection units) and works primarily with freshwater diatoms. Santiago works with Neotoma primarly through Tilia and Explorer, but is beginning to work with the new `neotoma2` R package.

For a research project, Santiago is interested in building a statistical model that looks at a sequence of surface samples, and relates these to environmental factors as well as lake parameters. To do this, he needs to ensure that all sites in his study region have clear information about the lake parameters provided for the sites.

To do this work Santiago wants to:

* Find sites by name or by spatial domain.
* Look at the reported location of the site as described by Neotoma.
* Know whether someone has already edited or made adjustments to the site.
* Validate the site with the site description, map overview and the publication (if provided in the dataset metadata).
* Obtain metadata from the HydroLakes database and assign it to the site
* If the site is not associated with an existing HydroLakes site, allow Santiago to add a "correct" polygon for the lake perimeter.

## Persona B: Jayla, an undergraduate student involved in a Work Experience initiative

Jayla is an undergraduate student working in a paleoecology lab. As part of her time in the lab she is helping gradute students with their projects, but has some spare time to do other work. Although not assigned to a specific project, she'd like to simply log in and update some sites at random. Although she's doing this for fun, she'd like her work recognized as a contribution to the Neotoma ecosystem.

To do this, Jayla wants to:

* Find sites by searching a region, or select a random site.
* Have her identity recorded and _reported_ through the application.

0 comments on commit 1822f87

Please sign in to comment.