Welcome to the AirBnB clone project! This project focuses on creating a command-line interpreter to manage AirBnB objects.
This project involves building a command interpreter for the AirBnB clone project. The command interpreter allows users to manage AirBnB objects by performing various operations like creating, retrieving, updating, and deleting objects related to AirBnB properties.
At the end of this project, you are expected to be able to explain:
- 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
- Allowed editors: vi, vim, emacs
- All files interpreted/compiled on Ubuntu 20.04 LTS using python3 (version 3.8.5)
- All files should end with a new line
- The first line of all files should be exactly
#!/usr/bin/python3
- A README.md file, at the root of the folder of the project, is mandatory
- Your code should use the pycodestyle (version 2.8.*)
- All files must be executable
- The length of your files will be tested using wc
- All modules should have documentation (
python3 -c 'print(__import__("my_module").__doc__)'
) - All classes should have documentation (
python3 -c 'print(__import__("my_module").MyClass.__doc__)'
) - All functions (inside and outside a class) should have documentation (
python3 -c 'print(__import__("my_module").my_function.__doc__)'
andpython3 -c 'print(__import__("my_module").MyClass.my_function.__doc__)'
)
- Allowed editors: vi, vim, emacs
- All files should end with a new line
- All test files should be inside a folder tests
- Use the unittest module
- All test files should be python files (extension: .py)
- All test files and folders should start by test_
- File organization in the tests folder should be the same as the project
- All tests should be executed by using this command:
python3 -m unittest discover tests
- Modules, classes, and functions should have documentation as specified above
To run the AirBnB console, follow these steps:
- Clone this repository:
git clone https://github.com/your_username/AirBnB_clone.git