DEV Community

Anna Wijetunga
Anna Wijetunga

Posted on

Rails Project

Thank you for being here! Originally from February 2020, here she is now in all her glory.

This project is a MVC, Ruby on Rails web application created to save books and leave/share reviews amongst a community.

Why a book review app?

As an avid reader, I'm always looking for ways to record and remember books I've read. This app solves that! You can record the book you've read as well as leave a review. You also have the option to invite your friends to share reviews across your community.

Language and skills implemented

I built this project using Ruby on Rails and ActiveRecord. My toolset included Visual Studio Code (editor/terminal), GitHub (to store my repository), as well as Postgres for my database. I included a third-party signup/login via Google using OmniAuth.

Feature Highlight

Each user who interacts with this program not only gets to record the books they've read, but they can also share reviews of that book and have access to reviews they didn't write.

If you are searching the site and see a book title you recognize but haven't read it yet, you can read another person's review to figure out if it's worth reading.

Hurdles Jumped

Building this app was a lot to keep track of because there are so many moving parts.

The biggest hurdle was making sure to create all necessary models, views and controller - and then, break down that logic and move it to helpers or partials.

The error messages received were my guide, and for once I was grateful for those, but the immensity of the application itself often felt overwhelming to keep track of. I kept getting lost in my own work!

After a few days of overwhelm at all there was to do and build, here's what I kept telling myself:

One step at a time.

My brain had been trying to deal with 50 action steps at once (well, to build the controller means I need to build that route and those 4 views and and and), so I had to stop myself from that line of thought.

Instead, I tried to work in baby steps: build a controller, draw out the routes, map out the views for those routes, repeat. One step at a time.

What's Next

My ultimate goal was to build a program that was relatively functional all along. But my secondary goal was to finally learn how to incorporate Bootstrap.

Having accomplished both (ta-da!), I do have a wish-list for when time becomes more abundant:

1) I want to include a search bar, to search amongst the list of books by author and books by title.

2) Could be interesting to connect with a site like Goodreads to have access to more books and more data!

To see it for yourself, head here: GitHub

Thanks so much for reading through! To comment or get in touch, please see the links below. - Anna

Connect with Me Twitter LinkedIn

Top comments (0)