Giter VIP home page Giter VIP logo

airbnb_clone's Introduction

title
AirBnB Clone Project - Command Interpreter

Welcome to the AirBnB clone project!

Welcome to the AirBnB clone project! In this project, you'll embark on a journey to build a web application inspired by the famous AirBnB platform. Before delving into the details, let's familiarize ourselves with the key concepts behind this endeavor. If you haven't already, take a moment to read the AirBnB concept page.

meme

Project Overview

Technologies Used

Visual Studio Code Emacs Vim Python C Git Markdown Ubuntu Stack Overflow Pycodestyle

The primary objective of this initial phase is to construct a command interpreter to manage AirBnB objects. This foundational step lays the groundwork for the subsequent development of a full-fledged web application. Throughout the project, you'll integrate various elements such as HTML/CSS templating, database storage, API implementation, and front-end integration.

Files and Directories

⇒  tree                          
.
├── AUTHORS
├── console.py
├── models
│   ├── base_model.py
│   └── engine
│       └── file_storage.py
├── README.md
└── tests

3 directories, 5 files

Tasks at Hand

To achieve this goal, we'll follow a systematic approach:

  1. BaseModel Class: Create a parent class, BaseModel, responsible for the initialization, serialization, and deserialization of future instances.

  2. Serialization Flow: Establish a simple flow for serialization and deserialization, allowing smooth conversion between instances, dictionaries, JSON strings, and files.

  3. AirBnB Classes: Develop classes for each key entity in the AirBnB system, such as User, State, City, and Place. These classes will inherit from the BaseModel.

  4. Storage Engine: Implement the first abstracted storage engine for the project – File storage.

  5. Unit Tests: Create comprehensive unit tests to validate the functionality of all classes and the storage engine.

What's a Command Interpreter?

Think of the command interpreter as a specialized Shell, limited to managing objects within your AirBnB project. It allows you to:

  • Create new objects (e.g., User or Place).
  • Retrieve objects from files, databases, etc.
  • Perform operations on objects (count, compute stats, etc.).
  • Update attributes of an object.
  • Destroy an object.

By completing these tasks, you'll establish a robust foundation for the subsequent phases of the AirBnB clone project. Let's dive into the details and bring our AirBnB vision to life!

Installation

  • Clone this repository: git clone "https://github.com/stephen-nene/AirBnB_clone.git"
  • Access AirBnb directory: cd AirBnB_clone
  • Run hbnb(interactively): ./console and enter command
  • Run hbnb(non-interactively): echo "<command>" | ./console.py

How to Start:

$ ./console.py
(hbnb) help

Documented commands (type help <topic>):
========================================
EOF  help  quit

(hbnb) 
(hbnb) 
(hbnb) quit
$

How to Start:

BuiltBy

Copyright

airbnb_clone's People

Stargazers

Dev-nene avatar

Watchers

Dev-nene avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.