Polypheny-DB UI: An Angular-based user interface for Polystore Databases (Bachelor Thesis, Finished)
The goal of this project is to extend the existing user interface of Polypheny-DB. The project consists of three major parts. In the first part, the Polypheny-DB UI should be extended to allow modifying and viewing the current schema of Polypheny-DB. This includes
- Browsing trough the data.
- Viewing properties of databases, schemas, tables, columns, indexes, views and users.
- Create / alter / drop databases, schemas, tables, columns, indexes, views and users.
In the future, Polypheny-DB will support different schema representations (relational, graph, document). The type of representation should be configurable on the level of the schema. This allows to have different representations in the same logical database. While for this project, it is sufficient to only support relational schemas, it should be possible to add additional types later.
The second part of the project is to add support for submitting arbitrary queries to Polypheny-DB and to render the result. Additionally, the Polypheny-DB UI should also display debugging information for the submitted query. This can be implemented using the existing Information Provider.
In the last part of the project, the aim is to allow graphical modeling of queries. This should be done in two steps: In the first step the support for building queries by graphically connecting entities should be implemented. This graphical query modeling can then be extended to include a set of relational algebra operators. In the optional second step, this can be extended in a way which allows to define partial queries which can then be combined by users to easily create their own queries and to modify existing ones.
Both, the server side as well as the UI part should make use of a central configuration. There should be no hard-coded configuration.
Since Polypheny-DB is licensed under the MIT license the developed solution has to be licensed under the MIT license, too.
Start / End Dates
2019/06/01 - 2019/08/31