Project: 0x00. AirBNB Clone - The Console | By: Guillaume
Weight: 5 | Project Duration: Nov 6, 2023 4:00 AM - Nov 13, 2023 4:00 AM
Team Members: Ayoub Baalla, Elhihi Mohamed
Welcome to the AirBnB Clone project! This project is the first step towards building a full web application that emulates the functionality of Airbnb. In this project, we are going to create a command-line interface (CLI) known as "The Console," which allows us to manage AirBnB objects using various commands.
This project is designed to teach us various fundamental concepts in Python, including:
- Python packages and modules
- Object-Oriented Programming (OOP)
- Creating a command-line interface (CLI)
- Serialization and deserialization of objects
- Unit testing using the
unittest
framework
The project aims to mimic the basic functionalities of Airbnb, focusing on creating classes to represent different elements of the application, managing object serialization and deserialization, and providing a command-line interface for interacting with the objects.
- Clone the repository:
git clone https://github.com/MinightDev/AirBnB_clone
- Navigate to the project directory:
cd AirBnB_clone
- Run the console:
./console.py
Once the console is launched, you can start using various commands to manage your AirBnB objects. For a list of available commands, type help
or help <command>
to get more information about a specific command.
The following commands are available in the console:
-
create
: Creates a new instance of a class and saves it to a JSON file. -
show
: Displays the string representation of an instance. -
destroy
: Deletes an instance based on the class name and ID. -
all
: Displays all instances of a class or all instances in the storage. -
update
: Updates the attributes of an instance.
For a complete list of available commands, refer to the console's built-in help feature.
The project file structure is organized as follows:
-
console.py
: The main command-line interface (CLI) script. -
models/
: Directory containing class definitions for different AirBnB objects. -
models/engine/
: Directory containing the storage engine implementation. -
tests/
: Directory containing unit tests for the project.
-
Ayoub Baalla (Team Member)
-
Elhihi Mohamed (Team Member)
This project is licensed under the MIT License.