This week, our class has been working on our first large scale group Rails project. The premise is that we create a web based ordering system for a restaurant.
So far our group has been meeting a large number of our goals. We forced ourselves to work in small iterations. We are documenting our 'dream' fun adders in pivtotal tracker but focusing on getting the basics done and not over-reaching.
The first day, Monday, our group went to the coffee shop and drew out wireframes for the layout, wrote user stories in pivotal and then designed the database. This has been hugely helpful throughout the whole process. I wasn't sure if taking an entire 'work day' to do layout without any actual coding would be profitable, but I think it made the entire project accessible for all the team members.
On the second day, we mobbed the initial database creation and rails model and controller creation.
Wednesday we tackled the big terrors. Getting the entire database to be done with postgres and pushing to Heroku.
Thursday we worked together, all day, with two people pairing on user authentication while the third teammate worked on special projects. Rolen and George were able to set up see data and got a shopping cart to populate and display. George Rolen and I finished the users. I focused on getting a basic well formatted layout.
I chose to focus on the layout. I have noticed the trend that having a very basic pretty background makes a world of difference in how a team will feel about how a project is going. I am hypothesizing that 'shitting out' something early and easy to edit will allow us to focus on fine tuning the backend without being overly worried about the front end.
The biggest challenge for me so far in understanding rails has been transferring the database to postgres. Many, many times I've shouted 'HOW DOES COMPUTER WORK?!'
I had created rails applications before coming to the program. They were uniformly very, very fragile. I am actually very excited to return to the old projects and now, with a ruby background, understand the things that were total mysteries. Also to mock past me.
It was also very interesting to go back to the Hartl tutorial while we were generating user authentication now that I understand testing. Hartl's focus on testing almost completely derailed my learning from his book - since it rested on being able to install a few gems correctly. Now I have a hard time figuring out if the tutorial has been improved (I followed a rails 3 tutorial, now it's updated to rails 4) or if I am just much better at understanding.
This has been a fun project to work on, and it's nice to feel comfortable with our progress. I'm looking forward to working on the project over the weekend, especially since we are planning to meet up at an indoor playground so our teammates daughters can play and we can at least attempt to code, or at least fellowship :)
I feel like I've been lucky to have classmates who are positive and intelligent, so when groups are announced, I don't have to dread the announcement. So far everyone that I've worked with has a good attitude, which keeps projects from being nightmarish and allows an open exchange of learning.