Skip to content

Distributed application to edit and send and receive text using communication based on RabbitMQ API.

Notifications You must be signed in to change notification settings

yosra270/distributed-text-editor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Distributed application using RabbitMQ

Distributed application to edit and send and receive text using asynchronous communication based on RabbitMQ API.

The application was developed in an incremental iterative way.

  • 1st iteration :
    Creation of 3 programs: two of which will write text in text zones and the third will receive and display what was written as explained in the following schema.

Functionalities for the first iteration


The code for the **two editing programs** is contained in Task 1 and Task2 while Task3 is the **display program**. The Send class will just encapsulate the details of sending messages to RabbitMQ. An execution of this application in this stage would like :

Example of execution in the first iteration

  • 2nd iteration :
    • Since Task1 and Task2 can only write text (cannot edit or delete it), I added the edit and delete options.
    • I generalized the solution for n editing Tasks to write, edit and delete text instead of just two processes (Always only one display process). The number of the editor process (Task) is passed as an argument.

In this stage, the result of the execution of this application for 4 editing Tasks would louk like :

Example of execution in the second iteration

  • 3rd iteration :
    • All processes can edit text (and send it to other processes) and display texts from other processes. Each process will have a text box where it can write its own text and text boxes to display the texts of other processes, as explained in the following schema :

Functionalities for the third iteration

  • I generalized the solution for n processes (the process number will be passed as an argument).

In this stage, the result of the execution of this application for 4 editing Tasks would louk like :

Example of execution in the third iteration

  • 4th iteration :
    • I made an ergonomic text editing interface (the same text area for everyone) in which we can write at the same time.

Functionalities for the forth iteration

The first attempt was a simplified interface :

Example of execution in the forth iteration

Which was improved later on :

Example of execution in the forth iteration




Example of execution in the forth iteration

About

Distributed application to edit and send and receive text using communication based on RabbitMQ API.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages