Repository navigation
System implementation and architecture
So basically we have developed a web app using CherryPy. We have mount ApiApps class into the main.py file and then in the server.py we implemented various api's which give desired functionality.
An overview of how each app with some of the main connections is shown below. Once the user has successfully logged in, the home page shows all the various functions available for the user to choose from. I have used HTML for the layout of the page and for the text input boxes as well. Api for listing users has been implemented. This allows the user to check all the user that have reported to the login server within the last five minutes. From the list, the user can choose any username and then send him a private message. The message is taken in as an input from the user and then encrypted using Private Key. The username is then searched in the database for its IP address and incoming public key. The encrypted message is then sent to the IP address. A successful message shows response:'ok'. Some errors have been taken care of, such as when the user is not online, an error message will be displayed to try again later. Once a message is ready to be sent, the rx...... POST function of the receiver is accessed to which the data is passed on which then can be retrieved by the receiver using rx.... GET function. (rx... means either rx_broadcast or rx_privatemessage).
