This is an old version of Airbnb project that was built in 2015. We no longer support this version. If you are new to this Airbnb project, you should start with our new Airbnb 2 (released in 2017).
The Aribnb 2 project is a real MONSTER with a lot of rich features. Check out the details here:
Glad i started on this first (before the 2017 series was ready) -- even though a few things are slightly outdated, I learned how to work around it with the help of the community, and generally it was a great learning experience for a programming n00b!
Welcome to the AirBnb project. In this project, I’m going to teach you Ruby on Rails by creating a AirBnb clone. Before going to the details of what features we’re going to build, I just want to show you guys couple of business ideas that I think...
Task 1: Let's Party
As the first task, we're going to install all tools and tech stacks that we will be using in our project. Let's get start!
Task 2: Working with Basic Project
In this task, we’re going to create a Navbar with Bootstrap. Also, we’re going to build a simple authentication system with email that allowing people to sign up, sign in and logout.
Task 3: Gravatar, Notification and Transactional Emails
In this task, we’re going to create a new push notification system for user's events. Also, we will learn how to get user's avatar and display it in the menu bar along with sending transactional email whenever someone signed up.
Task 3B: Facebook Authentication
This task is very interesting as we're gping to cover the Facebook authentication so user can sign in with their Facebook account. Also, we’ll be creating some simple style sheet so I hope you will get some ideas of how easy it is in dealing with...
Recap and Challenge for Sprint 1
Task 4: Room Creating
We’re going to create Model, Controller and number of Views for Room object. The task is simple and after you finish, here is what our Room creating page looks like. You will be learning how to manually create a typical Controller and how to work...
Task 5: Photos
In this task, we’re going to add photo uploading function into our Room creating and editing pages. Also, I will show you how to deal with AJAX request and make our application loaded faster.
Task 6: Create Views for Room
In this task, we’re going to create the listing page where you can see all of your listing room just like this. At the end of this task, we will have the room’s details page with all information about the a single room including Photos, Google Map...
Recap and Challenge for Sprint 2
Task 7: Reservations
In this task, we’re going to create Model, Controller and Views for Reservation. By completing that, we will end up with this simple form where you are able to book a reservation for this room with Start date and End date.
Task 8: AJAX
In this task, we’re going to refactor our Booking form just like this. Also, you will be learning how to work with AJAX and Controller in Rails by checking conflict dates between Start date and End date.
Task 9: More About Reservation
In this task, we’re going to create a new page to show all of the trips of the current logged-in user. So in this page, we display the information like the start date of the trip, the photo of the room that this user booked, the avatar of the host...
Recap and Challenge for Sprint 3
Task 10: Private Messages
In this task, we’re going to create the basic Private Message system for our application. By creating the MVC for Conversations and Messages, we will end up with this cool function so everyone in your system can send private messages to each other.
Task 11: Advanced Private Messages
We’re going to improve our Private Message system by making AJAX request to the server whenever user send a message. By doing that, the message will be added into here instantly without loading past messages every time. In addition to that, we...
Task 12: Reviews
In this task, together we’re going to create a Review system so Guest can review a room with how many stars they would rate and comments on it.
Recap and Challenge for Sprint 4
Task 13: PayPal
In this task, we’re going to integrate PayPal to our application so user can book a room by paying via PayPal.
Task 14: Searching
The main purpose of this task is to update our current home page, create search view having room searching function and google map.
Task 15: Landing Page
Welcome to the final task of this AirBnb project. In this task, we’re going to update our Home page with pre-search for couple of certain cities like New York, London and Berlin. Also, we’re going to add the hosts’ avatar to the room like this. Easy!
Recap and Challenge for Sprint 5