This is the first part of the AirBnB clone project where we worked on the backend of the project whiles interfacing it with a console application with the help of the cmd module in python.
Data (python objects) generated are stored in a json file and can be accessed with the help of the json module in python
- How to create a Python package
- How to create a command interpreter in Python using the
cmdmodule - 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
*argsand how to use it - What is
**kwargsand how to use it - How to handle named arguments in a function
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:
root@ubuntu:~$ ./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
root@ubuntu:~$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 |
| updated | Updates an instance based on the class name and id by adding or updating attribute (save the changes into a JSON file). |
