The goal of the Spatial Multimedia DB is to handle, and serve through web services, various types of city related data in the context of UD-SV (Urban Data Services and Vizualisation).
The API currently offers web service access to few following types of resources :
- Documents (file and metadata)
- Guided tours (sequences of documents with additional texts)
- Links between documents and other (city) objects
- User accounts and rights
The service provided by the Spatial Multimedia DB is typically used by the UD-Viz web client/front-end.
In order to install and run the application (UNIX or Windows), refer to the installation notes in doc/Install.md.
This application provides all the expected CRUD operations on the backend side. Spatial Multimedia DB is developed in python and is based on an MVC (Model, View, Controller) architecture. Persistance of objects to the DataBase is obtained through the usage of the sqlalchemy library together with an ORM. In order to wrap the (CRUD) service within an HTTP protocol (to deal with the requests and send responses to the client), the API uses the flask library.
The API documentation describes, among other implementation details, the routes to be used to communicate with the server.
-
Decorator We use several times decorators in the application , In sake of code simplicity and readability, the code uses (python) decorators. Because, at first, the understanding decorators might not feel straightforward, you refer to this decorators tutorial.
-
Diagram The diagram were mostly made with Visual Paradigm. For further information on how you can modify them refer to this Class diagram.