What it does

Our project is designed for farmers who want to centralize data that is collected from their farms. It accomplishes this by allowing farmers to store their equipment, vehicles, and plots of land in our database. Farmers can plot out land using an accurate satellite map. After mapping out plots, our program calculates the area of the plot in acres and allows users to assign crops that will be grown, and vehicles and equipment that will be used on the plot. Our program also automatically calculates the soil quality of the plot, how much produce the plot will make, and how much it will sell based on average yield and market price.

How we built it

We began our project with Requirements Elicitation, where we discussed the required features we would like to develop for our project. After doing so, we discussed what frameworks and software would suit this project best. We chose to code our front end in React.js, got satellite data from a Google Maps API, used Firebase Auth for authentification, Firebase Firestore for the database, Tailwind CSS for the styling, Lucide React for icons, React Context API for state management, ISRIC for soil data. We all met up and coded in a group for the entirety of the project. Whenever someone would run into problems they could not solve, we would discuss it together. We regularly communicated throughout the entire project, and because of this, we were able to tackle issues and develop code from different perspectives. Regularly discussing implementations and changes we made allowed us to have a very streamlined coding process.

Challenges we ran into

One of the big challenges we ran into was using the Google Maps API to plot longitude latitude points for the field plots. Another challenge we ran into was using React Google API to draw out polygons to map as fields. Another challenge we faced was interpreting the information returned from the ISRIC API. Keeping the UI clean and consistent across all pages was also a challenge. We set the initial position of the map based on the plot clustering.

Accomplishments that we're proud of

Accomplishments we are proud of include clean styling of our UI, making use of unknown technologies to us at the time, deploying our web application on the internet, great use of Git Hub, and being able to push out a full stack application within 48 hours. Some of the unfamiliar technologies that we used included, firebase, firestore, Google Maps API, ISRIC API, and Digital Ocean.

What we learned

We learned the importance of keeping an organized directory in a large web application, how to use no-SQL databases, how to use AI for debugging, and how to research the best software and APIs to use in certain situations. We also got more experience using React Contexts for state management and how to make more modular web applications using React components.

What's next for Terra

Expand use cases for farmers, and make the information more accurate by connecting it to weather APIs, and more specific databases in regard to agriculture. Include more relevant financial calculations for the cost of production and potential profits.

Built With

+ 22 more
Share this project:

Updates