The difficult part about projects so far is setting up the skeleton of the project. Do I do the same thing I did to make my CLI gem? What goes in a rakefile? What is the difference between a .md or a .txt file and how much does it matter? These are the simple questions that can take up a large part of your time before getting into the actual project. Once the skeleton is all set up, it becomes familiar territory.
Familiar territory eases the anxiety of the whole project; however, it is now time to become a bit creative. To be creative is its own challenge as most of the lessons give you a clear path. In that, you know what tests you’re trying to pass and what all these tests accomplish. For an indivual project, there is a lot of ambiguity: create something that lets you login and post things. That sounds like almost every website.
After some brainstorming you have a direction; this is where you can take a few different paths. Do you start with migrations, controller, views or models? At this point I still do not know what is the best track. However, I do know to pick one; I wasted a lot of time hopping around trying to figure out where to start. Looking back, I would start with a migrations, then models. They are smaller tasks and help get some momentum. From that point I would start with the application controller, then make the views for each route. This would allow me to get a sense of the flow of my project and how one would interact with it.
This project has been the most time consuming and that can be overwhelming. I should have set more time aside for it and not underestimate it. If you youtube “sinatra flatiron project” there will be a lot of great projects and the look nice. This was a bit discouraging as html is not something I am particularly good at yet. However, it is not something to be discouraged about; understand that the project is for understanding sinatra, not making everything look pretty, so focus on understanding things and do not get hung up on aesthetics.