braveking12 / AirBnB_clone

A group project resembling an AirBnB clone, developed as part of the curriculum for Year 1 at ALX School of Software Engineering. This project involved creating a platform with features akin to AirBnB's.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AirBnB clone - The console

Group project Python OOP

hbnb

Greetings and a warm welcome to the exciting AirBnB clone (Hbnb) project, where we aim to replicate the functionalities and user experience of the renowned AirBnB platform. This venture serves as a hands-on learning opportunity, allowing us to delve into the intricacies of creating a similar platform, including property listings, bookings, and more. Let's embark on this journey of discovery and innovation together!

Commencing the Journey

What exactly is a command interpreter?

Do you recall the concept of the Shell? Well, think of it as similar, but tailored for a particular purpose. In our scenario, we seek to employ this specialized interpreter to effectively oversee and manipulate the various components and objects within our project:

  • Create a new object (ex: a new User or a new Place)

  • Retrieve an object from a file, a database etc…

  • Do operations on objects (count, compute stats, etc…)

  • Update attributes of an object

  • Destroy an object.

Learning Objectives

General

  • 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

Execution

Your shell should work like this in interactive mode:

$ ./console.py
(hbnb) help

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

(hbnb)
(hbnb)
(hbnb) quit
$

But also in non-interactive mode: (like the Shell project in C)

$ echo "help" | ./console.py

(hbnb)

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

EOF help quit
(hbnb)
$
$ cat test_help
help
$
$ cat test_help | ./console.py
(hbnb)

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

 TASKS COMPLETED FOR THIS PROJECT
*  0. README, AUTHORS
* 1. Be pycodestyle compliant!
* 2. Unittests
* 3. BaseModel
* 4. Create BaseModel from dictionary
* 5. Store first object
* 6. Console 0.0.1
* 7. Console 0.1
* 8. First User
* 9. More classes!
* 10. Console 1.0
* 11. All instances by class name
* 12. Count instances
* 13. Show
* 14. Destroy
* 15. Update
* 16. Update from dictionary
* 17. Unittests for the Console! ```

About

A group project resembling an AirBnB clone, developed as part of the curriculum for Year 1 at ALX School of Software Engineering. This project involved creating a platform with features akin to AirBnB's.


Languages

Language:Python 60.8%Language:HTML 24.4%Language:CSS 14.8%