Bee, a mobile app for citizen science.
Tags: githubhack23, github, opensource, showdev
Published: 2023-05-16 10:57:32

--- 
title: Bee, a mobile app for citizen science.
published: true 
description: My submission to the GitHub + DEV Hackathon 2023! 
tags: githubhack23, github, opensource, showdev
series: bee
--- 

## What I built 

Bee. Record the bees you sees.

_Start surveying your transect, Keep track of your sightings, Clear data when complete_

### Category Submission

Phone Friendly

### App Link

https://purple-wood-8308.fly.dev/

### Screenshots 

![Start surveying your transect, Keep track of your sightings, Clear data when complete](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4li2hiy4k15wlkoz0cpo.gif)

![Record bees](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xbdgoa8lj3l8g88d57zq.jpg)
<figcaption>The mobile app would be used in the field to record bee sightings</figcaption>

![View your data for entry](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/llspg0ik7ab880rumtay.png)
<figcaption>The desktop interface is available for easy data entry from the app to the survey submission system</figcaption>


### Description 

This mobile app is for Bee Walk citizen scientists, enabling them to record their bee sightings in the field and summarise the collected data for simple entry to the larger data set.

Users can select and add their sighting based on their identification, and keep the record stored on their phone until the walk is complete. Other required information for each walk is also stored, including the weather where they are, and the start and end time.

### Link to Source Code 

https://github.com/ruthmoog/bee

### Permissive License 

[MIT License](https://github.com/ruthmoog/bee/blob/main/LICENSE.md)

## Background (What made you decide to build this particular app? What inspired you?) 

I'm a citizen science volunteer for a conservation charity called Bumblebee Conservation Trust (BBCT). For their [BeeWalk Survey Scheme](https://beewalk.org.uk/) volunteers like me across Great Britain take a monthly walk recording bee sightings, then the data collected are used to monitor the abundance of bumblebees across the country. This is important ecological and conservation data as bee populations are declining, and this can be monitored to explore what is happening within our own ecosystem and food chain.

I have been using a clipboard and printing out survey forms - this process could be digitised to make it less cumbersome, and data such as the weather could be automated which would make my report more consistent and less subjective.

### How I built it (How did you utilize GitHub Actions or GitHub Codespaces? Did you learn something new along the way? Pick up a new skill?) 

#### GitHub Actions

[Dan](https://github.com/shinyhappydan) set up our [CI (continuous integration)](https://github.com/ruthmoog/bee/blob/main/.github/workflows/build.yml) Actions workflow, so that our build and unit tests are run whenever someone pushes code to our repo on GitHub.

[Chris](https://dev.to/quii) set up the same for our [browser tests](https://github.com/ruthmoog/bee/blob/main/.github/workflows/browser_tests.yml) so we now have feedback that all tests are passing on main whenever code changes are pushed from anywhere.

#### Team Organisation

Features or questions are raised against milestones in GitHub Issues in the repo, and as a group we can discuss ideas and what we want to work on in our group chat.

We've used a combination of solo, pairing and mobbing to work together and learn from each other, which has been fun.

#### Technology

We've explored JavaScript which none of us use regularly, this seemed like the best choice for responsive feedback in the mobile browser.

For testing we used the [Node.js testing library](https://nodejs.org/api/test.html#test-runner) for unit tests, which is fairly new! We also learned how to use [Playwright](https://playwright.dev/) for cross-browser testing, which is great on a static site like this. This type of testing automation is really cool to see working.

### Additional Resources/Info

#### Bumblebee recording

- [BBCT](https://www.bumblebeeconservation.org/) and the [BeeWalk monitoring survey](https://beewalk.org.uk/) who provide guidelines and information for participating volunteers

#### Technology

- We used free and open-source weather API [Open Meteo](https://open-meteo.com/) to get a real-time forecast and convert data such as windspeed into the [Beaufort scale](https://en.wikipedia.org/wiki/Beaufort_scale) for surveying.
 
- To provide a location for the weather forecast, we used the [Geolocation API ](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API) to retrieve the user's location information.

## Collaborators

- Ruth Baker (ruthmoog) [github](https://github.com/ruthmoog) | [dev](https://dev.to/ruthmoog)
- Daniel Bell (shinyhappydan) [github](https://github.com/shinyhappydan) | [dev](https://dev.to/shinyhappydan)
- Riya Dattani (riyadattani) [github](https://github.com/riyadattani) | [dev](https://dev.to/riyadattani)
- Chris James (quii) [github](https://github.com/quii) | [dev](https://dev.to/quii)
- Tamara Jordon (tamj0rd2) [github](https://github.com/tamj0rd2) | [dev](https://dev.to/tamj0rd2)
- David Wickes (gypsydave5) [github](https://github.com/gypsydave5) | [dev](https://dev.to/gypsydave5)