For my senior capstone class, I was assigned the Success Stories of Resilience in the Willamette Valley (Century Farms App) project. This application was started last year by students who were unable to finish it due to a small group size. Unfortunately, the team working on it this year is small too since one of the three group members had to leave the group. So, for the rest of the year I will be finishing the application with one other student.
The project sponsor is Dr. Dominique Bachelet. Mariah Goldbach is a graduate student who is doing her thesis on the Century Farms and Century Ranches in the Willamette Valley. She interviews them to learn more about them. Meetings happen once a week with Dr. Bachelet, Mariah, and all of the team members.
Currently, the application has a main screen that displays a map of all of the Century Farms and Century Ranches in the Willamette Valley. Each farm has a pinpoint on the map. The user is able to search by crop, livestock, township, etc. to filter the maps results. After clicking on a farm, the user is directed to a page that displays all of the farm’s information. This includes historic farm data, current farm data, and climate data. There is two climate graphs. One of them is for temperature and the other one is for precipitation. The graphs go from the year 1980 to 2020. All of this is displayed on a page that the user scrolls through. The team last year made excellent progress on the application given the fact that there was only two of them. However, there are still many important features that are not implemented.
- The homepage is missing a time lapse mode. This will allow users to view historic land data and future projected land data.
- The map will have a soil overlay feature that will allow users to view how the soil has changed over time.
- The UI of the individual farm page will be reworked with tabs so that there isn’t too much information on one page.
- The graphs on the individual farm page will be extended to go from the year 1920 to 2050, as requested by the project sponsor.
- An API and new database will be created from the current OCFRP database so that missing fields can be filled in and the application can easily communicate with the database.
- An automated script that converts a farm’s address into geographic coordinates will be written to allow new farms to be added to the map easier.
The Technology Being Used
- Google Maps API and Mapbox – these will be used for the map and timelapse mode.
- OpenLandMap API – this will be used for the soil map overlay.
- ClimateNA – this will be used to source future climate data.
- Daymet – this will be used to source previous climate data.
- MongoDB – the new database and API will be hosted here.
- React Native – this is the primary language of the current application.
- Android Studio – this will be used to emulate the application on our computers.
My Primary Responsibilities
My primary responsibilities for the application will be #3, #4, and #5 of the requirements list above. My teammate and I thought it made sense to divide the work like this so that she is mainly working on the map on the home screen and I’m mainly working on the individual farm page. However, a lot of collaboration is expected.
How It Has Been So Far
This term has all been planning so that we can be prepared to start development next term. Planning was been going well and I think my teammate and I have come up with good ways to implement the features that we need to implement. However, we are both brand new to mobile development so there’s a lot for us to learn. We have been trying to get the emulator running, but have been running into package dependency issues. These dependency issues make it so we can’t update or run anything. We may reach out to a technical resource to help us with this, or if anyone reading this knows a fix, please share. The previous team listed a professor at Oregon State (Robin Hess) as a technical resource they used throughout the year. He teaches web and mobile development so he may know how to fix these issues. My team member was also considering contacting the professor she had for web development. I think a good goal would be to have the emulator running and to have a good understanding of the current code before the start of next term.