We were inspired our love for gardening and building a community building, and the potential that these activities have for improving the livelihoods of those around them. One of our teammates had worked in caring for a small community garden in the past and observed many issues in planning and management from the often-short-staffed teams of volunteers responsible for the gardens. We aspire to create a cheap, simple, and useful piece of task management software specifically designed to ease administrative burdens of managing community gardens.

What it does

The goal of the dashboard of Gardenity is to allow registered users to create gardens that can consist of several plots of land, with each plot allowing several types of plants. Each plot has associated tasks that are displayed as cards on a pop-up board, similar to other general purpose task management solutions like Jira. In addition, the boards would also display information such as which plants were located in the plot, and which people or other entities were responsible for managing it. This site provides a visualization of useful community gardening features. We envision that users could access gardens that they are part of on their "My Gardens" page. New tasks can be created for common care tasks, such as watering, weeding, planting, harvesting, spraying pesticides, spreading fertilizer, etc. Users responsible for the plot of land can pick up scheduled care tasks be assigned to a task by an administrator, and we send the user text reminders of their duties when they've been assigned. The Calendar page would be implemented to show these scheduled tasks, and users can visit the calendar page to organize their responsibilities. On the administrator side, administrators of a garden can sketch out a diagram of their garden plots using our Garden Creation software. So far, we support drawing out rectangular plots, but our backend and server architecture is designed to support plots of arbitrarily sized polygons. Once the garden is saved, users can click on a plot to see the associated tasks.

How we built it

The frontend was built in CSS, HTML, HTML Canvas, JavaScript/JQuery, Bootstrap, and designed and prototyped in Figma. We used HTML Canvas to build the plot sketching and viewing software, and customized our own Bootstrap theme for the rest of the interface. The backend was built in C# and ASP.NET Core. We also used SQL Server running on Amazon's AWS RDS managed relational database, where are database is currently running live. In addition, we used Twilio's SMS sending service to send out text notifications to care groups and volunteers when they were assigned a task. User authentication was achieved with Identity Core, and we used Entity Framework ORM to interact with the database. Finally, we used to purchase the .tech domain for our project.

Challenges we ran into

We ran into many challenges during this project with the main being starting this project later than we thought we would since we spent a lot of time discussing many different ideas. Once we started coding later the next day, we faced problems both in front-end and back-end. In front-end, it was hard trying to create a drag and drop plot where data was created from the plots that were created. Later, those plots had to be clickable to add more data about the plots in general. Creating this in pure HTML/CSS/Javascript proved to be a struggle, as we were able to create a drag and drop map that creates plots on a garden. We also struggled with creating and adding plants and tasks after the plots have been made. This is something we have now implemented and needs the front-end to change accordingly. In back-end, there were challenges in configuring AWS and the entity framework. There was also a lot of trouble combining the front-end and the back-end altogether at the end. Although not all the functionalities are working, this site envisions several features, and we managed to get together to get some features to work to provide a prototype for our community gardening management tool.

Accomplishments that we're proud of

  • Live notifications using Twilio
  • Drawing the plot
  • Creating a modal for tasks, people, and plants for a plot
  • Managed to create a website with some working functionalities in less than 24 hours.

What we learned

We learned a lot about Front-End with the new types of additions such as a drag and drop plot that we were trying to include. We also learned about ASP .NET Core and Visual Studio which we used for most of the back end. We also learned a lot more about using databases for the backend with SQL and we got acquainted with AWS and Twilio. We thoroughly enjoyed our learning experience throughout this whole project.

What's next for Gardenity

  • Allow for a variety of tasks(including a member of a community plot to add, delete, or assign themselves tasks)
  • Image Processing of the garden to create the map(identify crops and get an aerial view of the image for the map)
  • Using moisture sensors to notify when plants need to be watered
  • Finish implementing the calendar
  • Creating more alerts for when a scheduled task is close or if a high priority task has appeared

Built With

Share this project: