This is a repository for the Makers Academy Week 6 AirBnB Challenge.
Technologies involved: Ruby, Sinatra, Bootstrap, OOD, testing via RSpec and Coveralls support is integrated
This is a mock project that implements the basic features of AirBnB:
- Clone this Repo to your local machine
Change into the makersbnb directory
Use the following command to launch the server:
ruby app/app.rb
The server is hosted on localhost:4567
As a host,
So my space can be available to rent
I can list a space
As a host,
So I can rent multiple spaces
I would like to list multiple spaces
As a host,
So that guests know when my space is available,
I would like to offer a range of available dates
As a host,
So that I can describe my space
I would like to give my space a description
As a host,
So that I can name my space
I would like to give my space a name
As a host,
So that I can price my space
I would like to give my space a price
As a guest,
To avoid making an incomplete booking
I would like to see available spaces only
As a guest,
So that I can hire a space,
I would like to create a booking request on an available space
As a guest,
To inform a host of how long I want to stay in their space
I want to use a booking request to detail the number of nights I want to stay
As a host,
To confirm a guests booking request
I would like to confirm a booking request
As a guest,
Until a host confirms a booking on a space
I can still book a space thats available
As a host,
So that I can verify my identity
I can sign up as a host with my email and password
As a host,
So that I can use my account
I can sign in with my email and password
As a host,
So that I can make sure nobody else is using my account
I can log out
We were tasked with building a clone of AirBnB. This was the first project at Makers where we were given free reign on to do whatever we wanted. Luckily, the team I worked with were brilliant. We managed to use XP Values (Communication, Simplicity, Feedback, Courage, Respect) and Waffle to communicate what needed to be done next. We switched pairs regularly and there were no disputes because we were all working towards the same goal. I really enjoyed working with this team and that's what made this one of the best projects during the course.
I like the freedom that Sinatra gives to developers, rather than in Ruby on Rails where you are sort of forced to work in a certain way. We styled the website throughout the week using Bootstrap SASS, which is why the pages look good. I was mostly interested in the back end of this project and it really helped me understand how databases work and how to use an ORM like Datamapper to communicate with them.
There were some struggles but they mostly involved code and we managed to get through the project by working together and researching anything that we didn't understand. It was also a good way to get to grips with version control and github. Both of which I feel comfortable using now.