DEV Community

Cover image for Assignment Hog Sinatra Project
Damon Marc Rocha II
Damon Marc Rocha II

Posted on • Updated on

Assignment Hog Sinatra Project

This project has shown me how far I have come in web development. I will not say it was easy but I did find myself wanting to go back for more each time I took a break. During its creation, my perspective on the internet has completely changed. I now feel that before I was barely even scratching the surface of the web. So here's an awesome quote that really puts all that into perspective.

Alt Text

β€œThe only people who see the whole picture are the ones who step outside the frame.”
― Salman Rushdie

I designed an Assignment Tracker website, that allows students who are signed in to create, view, edit, and delete their assignments. Along with this function, I added a class feature that allows students to see others who have assignments in the same class and message them. While this was not my original plan I am happy as to how it turned out.

I decided to start this project from scratch; with help from past examples of the set up of Sinatra environments. The first few steps of my website were easy I created a diagram to structure my project and then wrote out a couple of pages of pseudocode to get myself started. Once this was finished then came the fun part of setting up my environment, controllers, models, and views. I made a lot of progress on the first day, almost finishing the minimum requirements needed. But I ruining my project setup making some fatal changes to the database and environment. I spent a few hours debugging and refactoring this but then I was back on track.
After the first day, I started having ideas of things I could add to my project beyond the scope of what I originally planned. So my website went from assignment tracker to an assignment and class tracker. Setting up my student classes database, controllers, and table came with some errors I should have expected; for example setting a column name in my table as 'class' and making duplicate class and student objects on class creation.
Once I had this function completely working. I had another idea; to add a messenger to my website. However, it was about 3 a.m. at this point so I decided to go to sleep and start the next morning. From the beginning, I ran into some errors with relating two students in a table. I fixed this by adding a recipient id column and searched for this when a student wanted to look at their messages. At this point I had a very rudimentary messenger; the user could send, delete, and view their messages. But I felt like it was missing something, a reply function. So I added a reply form that took in the recipient's username and used a hidden input for it to allow the user to just write their new message. I then worked on the website styles and error messages. These parts were fairly easy but tedious. With all that I was finished.
This project really helped me see everything I have learned, and just how far I have come in this class. I am feeling confident about continuing my journey in software development.

Top comments (0)