Skip to content
The complete, minified, deployed clone of Airbnb 🏠
TSQL Python CSS Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
api
assets
documentation
models
mysql
web_flask
.gitignore
AUTHORS
LICENSE
README.md
console.py
fabfile.py
requirements.txt
setup_server.pp

README.md

Holbertonbnb

An Airbnb clone.

Holbertonbnb logo

Description 🏠

Holbertonbnb is a complete full-stack web application, integrating a MySQL database and Flask RESTful API with a dynamic HTML5/CSS3/jQuery front-end.

Holbertonbnb logo

Brennan, what is this, your fourth Airbnb repo?

Fifth, actually πŸ˜….

Holbertonbnb was the central web application of the Holberton School year one curriculum. The project spanned the course of two months and four versions, each of which you can view at the below links:

  1. AirBnB_clone
  2. AirBnB_clone_v2
  3. AirBnB_clone_v3
  4. AirBnB_clone_v4

The above versions are separate, isolated codebases. While the first was started from scratch, each of versions 2, 3 and 4 involved inheriting and building on repositories started by previous cohorts at Holberton School. Additionally, the work completed for each version involved collaborating and pair programming with a cohort mate - I worked with a different cohort mate for each version.

This versioning process was a great experience in pair programming and working on unfamiliar, developed codebases. Yet, it was not so great from a portfolio perspective and the want of a central, organized repository where I could show off all the work I coded and learned over the course of this clone.

This repository is just the above - an organized, cleaned up, deployed version of Holbertonbnb. Call it a minified build, if you will.

I started this repository as a duplicate of AirBnB_clone_v4, the final version worked on within the scope of Holberton's curriculum. Since then, I have:

  • Cut out all irrelevant code, organizing just that needed to deploy the application.
  • Pieced together each of the front-end, back-end and API with strictly my code, copying in the personal implementations of each that I worked on across all four versions.
  • Spruced up the front-end and wrote new auto-deployment Puppet and Fabric scripts.
  • Wrote thorough, organized documentation for all parts of repo.

What this repository does include:

What this repository does not include:

  • Test suite

Unfortunately, the test suite did not hold up well over the course of four different codebases, and was a bit much to justifiably refactor for this minified repo. Which is too bad, because this project involved a significant amount of time spent developing an unittest test suite testing the entire back-end. If you're interested in looking at tests I was involved in writing, my most signficant test work occurred in AirBnB_clone.

Dependencies πŸ‘«

Application:

Tool/Library Version
Python ^3.6.4
MySQL ^5.6.0
Flask ^1.0.3
flasgger ^0.9.2
Flask-Cors ^3.0.8
mysqlclient ^1.3.10
SQLAlchemy ^1.3.5

View the complete list of app dependencies in the requirements.txt.

Deployment:

Tool/Library Version
Python ^3.7.3
gunicorn ^19.9.0
Fabric ^2.4.0
Puppet ^5.4.0

Deployed Site ✈️

In case you missed it - Holbertonbnb is deployed! Please do check it out!

Documentation πŸ“–

In case you missed it - I've documented this entire repository! Please do check it out!

Author βœ’οΈ

License πŸ”’

This project is licensed under the MIT License - see the LICENSE file for details.

You can’t perform that action at this time.