The goal of the project is to deploy on our server a simple copy of the AirBnB website.
We won’t implement all the features, only some of them to cover all fundamental concepts of the higher level programming track.
After 4 months, we will have a complete web application composed by:
- A command interpreter to manipulate data without a visual interface, like in a Shell (perfect for development and debugging)
- A website (the front-end) that shows the final product to everybody: static and dynamic
- A database or files that store data (data = objects)
- An API that provides a communication interface between the front-end and your data (retrieve, create, delete, update them)
A command interpreter is the part of a computer operating system that understands and executes commands that are entered interactively by a human being or from a program. Do you remember the Shell? It’s exactly the same but limited to a specific use-case. In our case, we want to be able to manage the objects of 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