GraphSpace is a web-based platform where collaborating research groups can use a user-friendly interface to create, interact and share networks. Users can upload richly-annotated networks using REST APIs irrespective of the algorithms or tools used in the creation of the graph. Cytoscape.js enables the users to interact with the graphs using a graphical user interface. Users can customize the layouts of the graph, search for graphs matching some criteria, organize using tags, save the graph, and share them between collaborating groups or make it available to everyone in Graphspace.
The goal of this project is to implement a system of version control which will enable users to track changes made to the graphs, save different version of the graph with detailed summary of the changes with respect to previous version. The user will be able to undo changes and backtrack to a previous version of the graph using GUI and REST APIs. A layout created for a particular version of a graph may not be compatible with other versions of the same graph, therefore a feature will be added to check layout compatibility and to transfer layout between different versions of a graph.