top of page

Project Greenhouse Part 1

  • Writer: Zach Murray
    Zach Murray
  • Mar 24, 2021
  • 4 min read

Updated: Oct 8, 2021

This personal project started out as a school group assignment. We voted on several ideas, and mine was the favored choice. Thus began Project Greenhouse. We went through the software development cycle to generate use cases and lots of other documentation and diagrams. But it didn't extend to actually building the program. Fast forward a few months after that class, and I still had my heart set on making this application a reality. My mother is a serious green-thumb, with a massive array of unique and interesting plants that she manages across her 10-acre ranch. I noticed that she had a thick worn out notebook of details and diagrams to track her plants. When she mentioned to me that most of the plant tracking apps she had tried didn't meet her needs, I knew there was a use case for a new program.


At this point I had learned much more about properly designing diagrams for use cases, classes, sequences, and databases. I was also the team lead on most of my future group development projects. This gave me the opportunity to work on every document from the SRS and Business Problem Scenario, to test and project planning. I learned from some more experienced students how to organize the team with Jira, Confluence, and Slack. Even though I am (at the moment) developing this solo, I still use these tools to track the project.


Minus the use case development, I am starting over the rest of the design from scratch. This is a long term project that I am putting my heart into. So it needs to be done right. Part 2 will have links to all of the resources and codebase.


So the concept is to build a feature-rich web and mobile app that does all of the heavy lifting of plant management. I'm not a great plant parent. Everything I touch dies, because the plants don't bother reminding me that they are thirsty. Experienced "green thumbs" that have a wide variety of plants will find this app equally useful though. In a complex system, you face a variety of conflicting needs, such as sun, water, and nutrition. How much more successful would our plants be if they had some intellectual independence? Bright Greenhouse will give them a brain, whether it's one plant at my mercy, or a whole ecosystem at my mother's ranch.


Apart from that primary objective, there is already a growing list of secondary, but major features that I want to implement once there is a minimal viable product.


Plant recognition API

Take a picture and find out what species it is, along with toxicity report, care needs, etc.


Care instructions, hazard warnings, wiki information

A lot of plant owners are concerned about bringing home plants that may be poisonous to their pets or children. Or you might want to know which ones are easier to keep alive. There are lots of reasons to understand a plant before you buy. Having that data quickly can improve the chances that the plants you buy will thrive.


Auto scheduling for care based on weather forecast and historical data

It's not enough to get a last minute warning that dangerous weather is going to destroy your outdoor plants. Having advanced warning of a storm approaching in a couple of days gives you time to prepare. But this feature is just as applicable to plants indoors. Some plants dry out faster than others. You can note this information over time and let the scheduler adjust your watering routines.


Advanced search and grouping features

When you have a lot of plants, it's convenient to have several options for searching through the list. We also want to be able to group plants, whether by location, species, care type, etc. Each plant listing also displays status symbols for watering level, health, toxicity, and other optional factors.


Plant Profiles

Each plant is unique. To accurately track growth, health concerns, and other historical data, each plant should have a profile with a full suite of information at hand. You can give it a thumbnail to recognize one plant from another, take and store a history of pictures for tracking changes over time, and post that entire profile on the community page. All of the information from the recognition API will also be stored. When you go to a plant's profile, it should offer access to all the information you could ever want about that individual plant and the species.


Mapping and diagram builder

If you have more than a handful of plants, it's likely that they are placed in several locations to take advantage of the sunlight. My mother's ranch has gardens, greenhouses, hundreds of indoor plants, and more spread all over the land. Half of the notebook I mentioned earlier is filled with maps, diagrams, and plans for the future. She also utilizes year round crop rotation, which requires well planned changes for the whole garden in every season. While this feature may cater more to plant enthusiasts, it is a major priority.


Community section for locale information and plant exchange

While subs like Reddit offer great communities for every subject imaginable, it lacks a local connection. Apps like NextDoor have been really successful as a platform for much smaller communities, like neighborhoods and counties. BG could serve a similar need by hosting a social platform to share successes, questions, and private sales. By integrating this directly in the app you can:

  • Share all of the historical background of your unique plant profiles

  • Help others trying to be better plant parents

  • Pose questions to the community

  • Offer cuttings or hard to find plants for private sale or swap

  • Develop relationships with like minded people in the community

  • Organize groups for initiatives like urban reforestation

Based on my initial interviews, the majority of people with plants were not willing to pay for expert advice. While there is certainly a place for it, most questions can be answered by a community of experienced users.


Flora data by local region

When planting outside, understanding the soil and weather of the region is critical. You also want to know which plants have a history of performing well there.


That is just the shortlist of major features. While already ambitious, there are many more sub features that will be listed in the documentation over time. This is technically my first project intended to reach production. If you feel inspired by this concept and would like to send me your thoughts and suggestions, I always welcome them.


Kindly,

Zach




Comments


  • LinkedIn
  • index

©2022 by Zach Murray

bottom of page