Plantry

Ruby Project
This was the Ruby project for the CodeClan programming course. I chose to make a website which can help you find cooking inspiration by taking in what is in your fridge and cupboard, and suggesting recipes. The look of the website is clean and simple; I wanted it to be very intuitive.

See it in action

See it on my website at http://plantry.martabeveridge.uk

Specification

As this was a CodeClan project, I had to abide by the following rules: The project must be built using only:
  • Sinatra
  • PostGRES SQL
  • HTML / CSS
  • Ruby
It must NOT use:
  • Any Object Relational Mapper (e.g. ActiveRecord)
  • JavaScript. At all. Don't even think about it
  • Authentication
This project was to be completed in 4 days. I outlined my MVP and extensions in my trello board for this project at https://trello.com/b/GTS4zCY7/plantry

Development

This project used a full spectrum of UX tools such as proto personas, user needs, and user journeys. I also planned the database using an online tool. These documents can be seen in my Planning folder. I pretty much just followed my trello to build all the functionality using TDD. About 3 days was spent on the logic, and the fourth day was spent on the css and flexbox elements. My most proud bit of functionality is how a new recipe can be created. I wanted the user to select the ingredients that the recipe would use and then for the database relationship to be created behind the scenes. For my level at the time this was a difficult ask but I was very proud of the code that made it work.

Learning points

The first project always feels really special because it's something that has really been build from nothing. I think this website has a lot of potential - especially the idea behind it, which is something I have thought about for a long time. If I had more time I would develop this into a fully fledged product which would include things like: adding a database of recipes, being able to search by multiple ingredients, and being able to sort the result by those which require the fewest bought ingredients, among others.
CSS, HTML, Ruby
pSQL, Sinatra