For my Sinatra Project I decided to create a web application called “Write On”. Write On was inspired by the “Jam” concept, which is essentially a timed contest where users can submit projects based on the Jam’s theme and then get rated to see who created the best project. For “Write On” the projects will be short stories and users will be able to create, edit, and publish the stories on site and attach the story to a Jam. Users and guests will be able to browse through published stories, other users, and Jams. Only an ‘admin’ will be able to create, edit, and delete Jams, the admin will also be allowed to edit/delete users and their stories. Jams theme’s will be hidden until the opening date and Users will only be able to create stories for the Jam until it ends. Jams will only display published stories, any unfinished stories will only be visible by the User. Adding the rating system was a stretch goal for me that I did not reach, I plan on rebuilding this application later in Rails and will likely wait until then to add ratings.
Working with Sinatra has been interesting, it feels like it should be easy as the code itself is pretty simple. Yet I felt overwhelmed at the start of the project and struggled to keep focused even though I never really ran into any major errors. I think for me the challenge was that in CLI testing and fixing code was straight forward, get an error, fix that error, get a new error until I was done. In Sinatra I can have code that sometimes works, sometimes doesn’t or works but doesn’t work correctly and really just takes practice to understand. That being said I really enjoy working with Sinatra because it feels more real than the CLI did. To me its like going from 2d in CLI to 3d in Sinatra, albeit a simple 3d. As we progress in rails and beyond I look forward to learning how to create the details that will truly give the project a life of its own.