Sinatra Project- Hortus-House

Posted by Kyle Stough on September 20, 2020

When assigned our Sinatra project, I wanted to build something more useful for its users than I was able to provide through my CLI project. I have always been drawn towards horticulture and am somewhat of a plant fanatic myself! I took this interest of mine and thought “how can I use this to provide a useful app to my user?”, and that is how I came up with the idea for Hortus-House. It is an app where you are able to create an account in order to create and maintain a log of the current plants you own. With the ‘Plant boom’ caused by COVID-19, there has never been a lareger interest in becoming a private plant owner than there currently is today. With the large increase in the private plant owner sectore, the interest in a website of this nature will surely be used by its target audience.

The hardest part of building my Sinatra project was learning how the Sinatra Framework handled its communitcation between different moving parts of my application, specifically the transfer of user data between views and controllers. Once I dove into this and understood that in order to bypass scope between the various methods in a class we need to make the scope visible to that view. Therefore we need to be setting ourselves an instance variable so the data will persist to our view from our method and we can use that data in our view.

The most rewarding thing from completing my sinatra project was finally getting to see the code i have written materialize on a webpage. Until now, we have only written code that will function within our editor/terminal and to finally have the opportunity to see my code on a webpage, it has given me even more motivation to continue the material in the curriculum to become a ‘fully realized’ Ruby web developer.

I hope to turn this project into something that is helpful to the public one day. My hopes are that I am able to publish my website and it have a core foundation of members who use it for the intentions I created it for. It will require a lot more work before it comes to fruition but I hope to eventually tie in weather tracking, based on location, and suggested care instruction for each plant in your collection based on your location and the recent weather activity in your location. Additionally, I would like to build out a functionality where you are able to send friend requests to other users, view their plants, and give them feedback or comment on their plant collection. Another feature I would like to add would be a ‘Care FAQ’ column and even have a live thread running so users can post photos of the plant problem they are facing and get real time feedback from other users on a solution they could try. There are many other ideas I have to flush out the rest of this app as well and I cant wait until I finish the course so I have the time and knowledge to put these ideas into code.

As always I would not have been able to make it this far in the curriculum without the help and support of my classmates and cohort leads, so I would like to thank them for always being willing to lend a hand when I need it.