AirBnB Clone Project

Description

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.

Version

All testing and usage was performed on Ubuntu 20.04 LTS

Concepts

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 ./console.py. The console can create, destroy, and update objects. Type help within the console to get a list of command options and its function.

Example:

[email protected]:~$ ./console.py
(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
console.py Command line Interpreter for managing AirBnB objects
models base_model.py Defines all common attributes/methods for other classes
models amenity.py Creates class amenity
models city.py Creates class city
models place.py Creates class place
models review.py Creates class review
models state.py Creates class state
models user.py Creates class user
models/engine/ file_storage.py Serializes instances to a JSON file and deserializes JSON file to instances
To be updated

GitHub

View Github