The goal of this project is to deploy a simple copy of the AirBnB website as part of the ALX software engineering program. At the end of 4 months, we would have built a web application composed by:
* A command interpreter to manipulate data without a visual interface.
* A static and dynamic website (the front-end) that shows the final product.
* A database and files that store data.
* An API that provides communication interface between the front-end and our data.
The first piece is to build our own command line inerpreter in python, to manipulate a powerful storage engine entirely from the console to:
- create data model.
- manage (create, update, destroy, etc) objects via a console/command interpreter.
- store and persist objects to a file (JSON file).
- models directory contains all representation of the objects used for the entire project.
- tests directory contains all unit tests.
- console.py file is the entry point of the command interpreter.
- base_model.py file is the base class of all models. It contains common elements:
- attributes:
id
,created_at
andupdated_at
- methods:
save()
andto_json()
- attributes:
- engine directory contains all storage classes (using the same prototype). For now, we only have file_storage.py.
- images directory contains all images used within this repository.
- hack contains the shell script that generated the AUTHORS file. If you want to use it for your project too, just wget generate-authors.sh and run it from the root directory of your project like this
./generate-authors.sh