AirBnB Clone Project


This is part 1 of our AirBnb Clone project. The purpose of this project is to make a command interpreter that manages our AirBnb objects.


All testing and usage was performed on Ubuntu 20.04 LTS


At the end of this project you are expected to be able to explain to anyone, without the help of Google:

  • How to create a Python package
  • How to create a command interpreter in Python using the cmd module
  • What is Unit testing and how to implement it in a large project
  • How to serialize and deserialize a Class
  • How to write and read a JSON file
  • How to manage datetime
  • What is an UUID
  • What is *args and how to use it
  • What is **kwargs and how to use it
  • How to handle named arguments in a function

Commandline Interpreter

Starting the Commandline Interpreter

The Commandline Interpreter can be started by executing the command ./ The console can create, destroy, and update objects. Type help within the console to get a list of command options and its function.


[email protected]:~$ ./
(hbnb) help

Documented commands (type help <topic>):
EOF  create  help  quit

Undocumented commands:
all  destroy  show  update

(hbnb) help quit
Quit command to exit the program
(hbnb) quit
[email protected]:~$

File Content

This repository contains the following files:

Folder File Description
tests Contains test files for AirBnb Clone Command line Interpreter for managing AirBnB objects
models Defines all common attributes/methods for other classes
models Creates class amenity
models Creates class city
models Creates class place
models Creates class review
models Creates class state
models Creates class user
models/engine/ Serializes instances to a JSON file and deserializes JSON file to instances
To be updated


View Github