
## DESCRIPTION
**AirBnB** is a *complete web application*, integrating database storage, a back-end API, and front-end interface.
This is part 1 of our AirBnb Clone project. The purpose of this project is to make a command interpreter that manages our AirBnb objects.
#### Data Diagram

## CONCEPTS LEARNT
- 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
## SYNOPSIS
#### Starting the Commandline Interpreter
The Commandline Interpreter can be started by executing the command `./console.py`. The `console` can `create`, `destroy`, and `update` objects. Type `help` within the console to get a list of command options and its function.
**Example:**
```bash
firdaus@ubuntu:~$ ./console.py
(hbnb) help
Documented commands (type help <topic>):
========================================
EOF create help quit
Undocumented commands:
======================
all destroy show update
(hbnb) help quit
Quit command to exit the program
(hbnb) quit
firdaus@ubuntu:~$
This repository contains the following files:
Folder | File | Description |
---|---|---|
tests | Contains test files for AirBnb Clone | |
console.py | Command line Interpreter for managing AirBnB objects | |
models | base_model.py | Defines all common attributes/methods for other classes |
models | amenity.py | Creates class amenity |
models | city.py | Creates class city |
models | place.py | Creates class place |
models | review.py | Creates class review |
models | state.py | Creates class state |
models | user.py | Creates class user |
models/engine/ | file_storage.py | Serializes instances to a JSON file and deserializes JSON file to instances |
To be updated |