Skip to content

System Implementation

Jerryxmas edited this page Jun 10, 2019 · 2 revisions

Central Server

The Central server is used to authenticate user identities and register their public keys and other details. A minimal amount of data is stored on the server to help achieve the goal of decentralizing the structure.

Back End

Python and Cherrypy are used to host the server on the backend and perform the needed computation such as encryption and decryption of data. The data is then saved in a database using SQLite from python. No passwords are stored, and all private messages are stored in their encrypted state. Therefore, even in an event where the database is compromised all the information leaked are already publicly available to any other users.

Static HTML content is served using jinja2 templating, and dynamic content is changed using JavaScript on the front end.

Front End

Javascript is used on the front end to call back to the server and fetch data. Then javascript dynamically populates the page using DOM manipulation.

Clone this wiki locally