Group Project - MakersBnb
Published: 2020-01-03 15:35:04

In Week 6 we did our first group project, with the aim of building an AirBnb clone - MakersBnb. 

On the Monday morning, we were randomly assigned our groups for the week, and we went away to form a plan with some goals. This is what we decided:

- Stand up every morning, 9:30 - setting goals for the day, talking about any possible blockers for the day, what do we expect from the day, where we’re all at with our individual sections
- Retro at the end of the day around 5/5:30 (means we can go back and work afterwards if needed) - discussing what we’ve done each day and how well we’ve achieved the goals that were set in the stand up
- Midday reflection each day
- Pairing as we’re at a team of 6 - starting with pairing with the same people all week, and if this doesn’t work we can be flexible and change to either switching pairs daily or working individually
- Before we start the project, break the project down and think about what each pair is going to be doing. Allocating a section to each pair, making sure we have a solid structure
- Communicate, make sure if you have any problems vocalise them
- Will discuss preferences, what each pair would like to do within the project
- Any possible blockers, not being able to progress on certain parts of the project. If a pair isn’t able to move on, discuss how we will go about rectifying this
- Make sure we’re really strict with the stand ups and retros

We then got going with the planning which included user stories, relationship diagram, and writing up a flow on the whiteboard of what we wanted the flow of the program to look like. This was what we decided we wanted for the front-end:

![Whiteboard flowchart](https://i.imgur.com/UbT1QnI.jpg)

We decided we wanted to write the code in Ruby, tested with RSpec, as we did not believe we would have time during the week to take on a relatively new language (JavaScript) and link it to a new server and database. Ruby would produce better results at that point.

As we were a team of 6 we were able to have three pairs, and went about assigning each pair a section of the project in order for us to reach the goal of having an MVP by the Tuesday evening. My job with my pair, Julie, was to write the code for the Listing class. The other pairs would create the basic website structure using HTML, and create a User class. 

By Tuesday evening, we had the MVP up and working as we did a loose version of mobbing on Tuesday to link up each class with the controller and the front-end. 

Over the next few days we discussed a task for each pair in the morning stand up (either fixing a bug or advancing the program), and we would discuss the progress that we made on these either during the afternoon reflection or if it was a longer job that could not be completed in half a day, in the evening retro. 

By Thursday evening, we had a fully-functioning site that allowed the user to login/sign-up/post a listing/view all listings/book a listing/view their booking confirmation. However, the site that we had at the moment had no CSS to it, which is a job that we undertook on the Friday once all the functionality had been done.

We ended up with a nice looking final product which we were all happy with, which worked well as an AirBnb clone. There are many things that could be developed, such as adding request/response functionality in order to book a listing. Overall, I really enjoyed my first group project!