Completing the Chitter Challenge Post Makers- Some Reflections

Joanna Brigham
3 min readMay 26, 2021

After finishing at Makers, the 16 week bootcamp I’ve recently completed, one of the benchmarks we were given to decide for ourselves if we’re ready to start applying for jobs is the Chitter Challenge. This is a challenge to build a full-stack Ruby web app using Sinatra and PostgreSQL that is a ‘clone’ of Twitter. If you can confidently complete this, they say you’re ready to apply for your first dev role. Now that I’ve completed it, (well for the moment anyway, there are plenty of additional features I could add) here are some of my thoughts.

Firstly, I really enjoyed going back to Sinatra after using Ruby on Rails to build my previous web app. Yep, building an app and adding user authorisation and authentication was much quicker with Rails, especially using the Devise gem. However, as a newbie using Sinatra again and taking the time to build all the routes myself really helped consolidate my understanding of routing, and I got to use PATCH and DELETE requests for the first time. It also gave me more of an opportunity to look into RESTful routing properly for the first time and appreciate the importance of this. All in all, I would definitely recommend Sinatra to new developers looking to experiment with their first Ruby web app.

I definitely got a reminder to read all of the documentation/instructions both carefully and to the end. I came unstuck for longer than I would have liked, using the BCrypt gem for the first time. When trying to adjust my model so a user couldn’t log in with an incorrect password once I’d added BCrypt, I missed the final step of the instructions. I’ll be adding rechecking the documentation/instructions higher up in my debugging process from now on.

Following on from the above, one of Makers course goals is “I can debug anything”, completing the Chitter Challenge was definitely a good exercise in this. During the course the majority of our time was spent pairing or completing group engineering projects, and though we completed the weekend challenges by ourselves, there was limited time to spend on these. I came across a couple of bugs which were a test of my perseverance, but I’m pleased to say I managed to solve them all, eventually anyway. This has given me a confidence boost that maybe I really can debug anything.

One memorable bug turned out to be just a syntax error, an html closing tag that shouldn’t have been there on a form. It was particularly frustrating though as when I ran the app on the server, no error message was appearing and sometimes the action I was trying to complete would work fine and not at other times. In the end I was saved by the Capybara save_and_open_page method which gave me great visibility as to exactly where the test was failing. Another example of why testing a TDD are important, if I hadn’t already written the test I may have been stumped for a lot longer.

If you’d like to take a look at my app, here’s a link to my github. Deploying it using Heroku is on my to-do list! Below is a peak of the sign in/sign up page. My first real attempt at any web design and I’m quite proud of it.

--

--