This repo contains the Base model of every object and classes in the AirBnB project not excluding the file storage.
It is a console that handles command needed for the AirBnB site. It's a dip of the toe into the ocean of AirBnB and web applications as a whole
- put in place a parent class (called BaseModel) to take care of the initialization, serialization and deserialization of your future instances
create a simple flow of serialization/deserialization: Instance <-> Dictionary <-> JSON string <-> file
- create all classes used for AirBnB (User, State, City, Place…) that inherit from BaseModel
- create the first abstracted storage engine of the project: File storage.
- create all unittests to validate all our classes and storage engine
- 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
| Task 0 | 0. README, AUTHORS |
| Task 1 | Be pycodestyle compliant! |
| Task 2 | Unittests |
| Task 3 | BaseModel |
| Task 4 | Create BaseModel from dictionary |
| Task 5 | Store first object |
| Task 6 | Console 0.0.1 |
| Task 7 | Console 0.1 |
| Task 8 | First User |
| Task 9 | More classes! |
| Task 10 | Console 1.0 |