Update: Project repos have been moved to gitlab in a bid to clean up my github account.
This Repo is a collection of all the iterations of the Airbnb clone project we had to create over six months with each step having a paired programming aspect to it and some test-driven development.
As a whole, this project was designed to teach us how a web application is pieced together. Furthermore, help develop soft skill such are a collaboration through peer programming and shared Github repository as well as organization and documentation. Some other aspects are covered list below.
- Building models
- Building a console
- working with Json
- Working with MySQL via ORM (using SQLAlchemy)
- Build Flask application to service a frontent
- Build an RESTful API
- Building a frontend with HTML and CSS
- Use a template engine (JinJa)
- Use JS/Jquery to create a dynamic frontend
Version 4 is the last coding project before the deployment step.
In this step of the project, we create the models and a console for the Airbnb project. While at this time we're not using any kind database we create a file system engine to read/write to a JSON file.
We also create the scaffolding of the static HTML page which we will later use as for them as templates for JinJa/Jquery frontend.
In this step, we polish up the console and implement a database engine using SQLAlchemy + MySQL. We then create our first Flask application withing the static HTML + jinja to service the frontend.
This step of the project we learn about implement a REST API server for the application using Flask.
This step we move away from server-side rendering via jinja
and use
the REST API created in the last step to make the frontend dynamic with
JS/JQuery.
Deployment ✈️
The concluding portion of the Airbnb project, deploy the web application to servers. I took this as an opportunity to learn to use Puppet Bolt to automate the deployment process.
- Commit 22e9279
- updated submodules to use gitlab version
- Python 🐍
- Javascript
- HTML
- CSS
- Flask
- SQLAlchemy
- JQuery
- Docker 🐳
- Nginx
- Haproxy
- Puppet Bolt
- Ubuntu