https://github.com/minightdev/airbnb_clone
https://github.com/minightdev/airbnb_clone
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/minightdev/airbnb_clone
- Owner: MinightDev
- Created: 2023-11-01T19:10:45.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-11-16T17:08:01.000Z (over 2 years ago)
- Last Synced: 2025-01-27T06:12:14.534Z (over 1 year ago)
- Language: Python
- Size: 77.1 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Authors: AUTHORS
Awesome Lists containing this project
README
# AirBnB Clone - The Console
**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.
## Table of Contents
- [Background Context](#background-context)
- [Installation](#installation)
- [Usage](#usage)
- [Commands](#commands)
- [File Structure](#file-structure)
- [Contributors](#contributors)
- [License](#license)
## Background Context
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.
## Installation
1. Clone the repository:
`git clone https://github.com/MinightDev/AirBnB_clone`
2. Navigate to the project directory:
`cd AirBnB_clone`
3. Run the console:
`./console.py`
## Usage
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 ` to get more information about a specific command.
## Commands
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.
## File Structure
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.
## Contributors
- Ayoub Baalla (Team Member)
- Elhihi Mohamed (Team Member)
## License
This project is licensed under the [MIT License](LICENSE).