Giter VIP home page Giter VIP logo

airbnb_clone's Introduction

banner

AirBnB clone

This is a console application designed to mimic some of the functionalities of the popular online vacation rental marketplace, Airbnb. With this app, users can view, create, update, and delete properties and their corresponding attributes such as location, users, amenities, reviews, price, and more.

Requirements of the project

To do this project we had to learn:

  • 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
  • How to do a unittest

The console

This command line interpreter can:

  • Manage objects: create, update, destroy, etc...
  • Retrieve an object from a file, a database etc...
  • Do some operations on objects (count, compute stats, etc...)
  • Update attributes of an object

Getting started

At first, you have to clone this repository in your machine using this command:

$ git clone https://github.com/sezfabian/AirBnB_clone.git

Then, go inside it:

$ cd AirBnB_clone

Finally, you can use the console this way:

$ ./console.py

Usage

Interactive mode

$ ./console.py

(hbnb) help

Documented commands (type help <topic>):
========================================
EOF  all  count  create  destroy  help  quit  show  update

(hbnb)
(hbnb) quit
$

Non interactive mode

$ echo "help" | ./console.py

(hbnb)
Documented commands (type help <topic>):
========================================
EOF  all  count  create  destroy  help  quit  show  update

(hbnb)
$

Available commands and its usage:

Command Syntax Output
EOF EOF Exit interpreter
all all [class_name] Displays every instance
of class name
count count [class_name] Counts the instances of
specified class
create create [class_name] create a new instance with
specified name
destroy destroy [class_name] [object_id] Deletes all attributes of
class_name.object_id
help help [option] Shows the help for
specified option
quit quit Exit interpreter
show show [class_name] [object_id] Displays all attributes
update update [class_name] [object_id] Modifies specified
[update_key] [update_value] attribute

airbnb_clone's People

Contributors

sezfabian avatar 0xackerman avatar

Watchers

 avatar

Forkers

0xackerman

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.