Symposium: the collaboration place

Summary

Symposium is an free, real-time, collaborative text editor written in C++ language. Like in the ancient Greece, Symposium allows you to collaborate and exchange ideas with other people in a environment that suits you.

This editor supports the basic functions that a rich text editor usually offers. It’s possible create lists, decide the alignment of a paragraph, edit font and style of each font and use buttons and shortcuts for common cut-copy-paste operations. It is also possible to save the document in format pdf.

One of Symposium’s strengths is the sophisticated management of sharing options and privileges that each user has over a document. The following modes are supported sharing:

Each user can have a different privilege on a document, and the choice of which privilege grant can be decided by the owner when sharing the document. The privileges supported are:

It’s developed on purpose for an academic project, but it is intended to remain free for your contribution. Symposium is a client-server software that uses Conflict-Free Replicated Data Types (CRDT) to make sure all users stay in-sync.

Getting Started

To build and run the project make sure you have the necessary components present in your system.

If you want to proceed with CMakeList file, there are 2 main targets: one for the server (SymposiumServer) and one for the client (SymposiumGui).

If you want to proceed with .pro file, there are 2 project in the directory: one for the server (SymposiumGui_Server.pro) and one for the client (SymposiumGui.pro)

Prerequisites

You need the following components to be able to install and run the program:

In particular we use:

Authors

License

Symposium is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. See the COPYING file for details.