Bee, a mobile app for citizen science.

ruthmoog - May 16 '23 - - Dev Community

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

Record bees

The mobile app would be used in the field to record bee sightings

View your data for entry

The desktop interface is available for easy data entry from the app to the survey submission system

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

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 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 set up our CI (continuous integration) Actions workflow, so that our build and unit tests are run whenever someone pushes code to our repo on GitHub.

Chris set up the same for our browser tests 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 for unit tests, which is fairly new! We also learned how to use Playwright 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

Technology

  • We used free and open-source weather API Open Meteo to get a real-time forecast and convert data such as windspeed into the Beaufort scale for surveying.

  • To provide a location for the weather forecast, we used the Geolocation API to retrieve the user's location information.

 Collaborators

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .