Skip to content

TheWatcher01/holbertonschool-AirBnB_clone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AirBnB Clone - The Console

Overview

The AirBnB clone project, specifically the Console phase, serves as the foundation for creating a comprehensive web application that emulates the core functionalities of the AirBnB platform. This initial phase focuses on building a command interpreter for data management, which plays a crucial role in the later stages of web development, front-end integration, and API creation.

Objectives

  • To understand fundamental concepts of higher-level programming with a focus on command line interfaces.
  • To implement knowledge of Python, specifically object-oriented programming (OOP), to create a manageable, scalable, and versatile architecture.
  • To develop a system that can serialize and deserialize JSON files, facilitating data persistence and manipulation.

Features

  • Console Creation: A command-line interpreter that allows for data management, including creating, updating, and deleting objects (e.g., User, Place).
  • Storage System: Utilization of a file storage engine to JSON serialize and deserialize objects, ensuring data persistence across sessions.
  • Custom User Commands: Support for creating, viewing, destroying, and updating instances of various classes. This includes advanced filtering functionalities to streamline data handling.
  • Unit Testing: Comprehensive test suite for validating all functionalities of the console, guaranteeing reliability and stability of the application.

Technologies

  • Programming Language: Python 3.7
  • Storage: JSON file storage for serialization and deserialization of data.
  • Testing: Unittest framework for Python to ensure robust and error-free code.

Installation and Usage

  1. Clone the repository:
git clone [repository URL]
  1. Navigate to the project directory:
cd AirBnB_clone
  1. Run the console:
./console.py
  1. Console Commands:
  • create: Creates a new instance of BaseModel, saves it (to the JSON file), and prints the id.
  • show: Prints the string representation of an instance based on the class name and id.
  • destroy: Deletes an instance based on the class name and id.
  • all: Prints all string representation of all instances based or not on the class name.
  • update: Updates an instance based on the class name and id by adding or updating an attribute.

Future Directions

  • Database Integration: Transition from file storage to database storage for scalability and efficiency.
  • Web Framework Implementation: Development of a front-end using a web framework (e.g., Flask) to turn the command-line application into a fully functional web application.
  • API Development: Creation of a RESTful API to provide a communication interface for front-end applications and extend functionality to mobile platforms.

Contributors

This project is part of the curriculum of Holberton School and has been developed by a team of enthusiastic software engineering students committed to learning and applying software development best practices.

For more information or to contribute to this project, please contact the repository administrators.


This document is a comprehensive overview of the AirBnB clone project - The Console. For further details or inquiries, feel free to reach out or consult the project documentation.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published