Distributed appointment calendar app

Current state:

There is an application that realizes the functionalities of a distributed appointment

calendar. I provide it as a zip file.

The backend has one server instance. Your job is to extend this single instance to a

multi-layer architecture described in the following section called Target state.

Used Technologies: Java RMI, Java Swing, MySQL.

“Client” and “GUI” packages should not be changed.

Target state:

I expect your project to contain two important parts: Root Server and Child Servers.

Server side structure:

When the application is initiated, your code creates one Root and two Child servers.

The number of Child Servers grows by demand. Note that the structure of the System

must be a binary tree. Your expansion of the current code must have the structure

shown in image (Refer to the "[login to view URL]").

What I expect as a binary tree is:

● N-layer architecture: the first layer contains 2 Child Servers, the second layer has

4 Child Servers, the third layer contains 8 Child Servers, the fourth layer includes

16 child servers, and so on.

● Each Child Server has its separate database containing three tables. The tables

are User, News, and appointment. This database contains only the data of its


Main functionalities:

1. If the user is new in the System, it will connect to the Root Server for the first

time, and depending on the traffic the Root Server assigns it to a Child Server.

The root server keeps a record that has the information of each client and the

child server it is connected to. For example Root Server knows that client A is

kept on child server 3.

2. The first 20 clients will be handled by the two child servers of the first layer (10

clients per server). When the number of clients is more than 20, the second layer

is created (by Root Server). The second layer has the capacity to serve 40

clients (10 clients per child server). If the number of clients is more than 60, the

third layer with a capacity of 80 clients is created (by Root Server). Your code

should implement this logic and account for the increase in the number of clients

by creating extra layers and child servers.

3. Your code must be able to search for a specific client in the binary tree. For

example, user X (on the main right branch, layer 3) wants to arrange an

appointment with user Y (on the main left branch, layer 5). This search method

serves as a mechanism to send the invitation (calendar app) from one user to

another user in different layers of the structure.

4. If one of the child servers fails, the clients' data on that server and data on its

Child Servers should be recoverable. Your code contains a backup strategy or

algorithm for recovering the data. (Could be discussed)

Summarized checklist:

1. The load balancing mechanism should be done as described.

2. It is important to describe the search method, how an invitation is sent from

server A, where user A exists, to server B, where user B exists.

3. If a server fails that has additional hierarchy levels downwards, there must be a

mechanism to recover its data.

4. The code must be clean (well-commented and according to proper naming


Habilidades: Swing (Java), Java, MySQL

Acerca do Empregador:
( 0 comentários ) Wuerzburg, Germany

ID do Projeto: #32676648

9 freelancers estão ofertando em média €197 nesse trabalho


Hi there, I have read your project description and i'm confident i can do this project for you perfectly.I still have a few questions. please leave a message on my chat so we can discuss the budget and deadline of the Mais

€250 EUR in 5 dias
(22 Comentários)

Hi Nice to meet you. I have read your job carefully and I'm very confident about your job. As a talented application developer, I have much experience with JAVA for more than 10+ years. If you give me a chance to chat Mais

€140 EUR in 2 dias
(17 Comentários)
(29 Comentários)

Hello? How are you? Thanks for posting this job. I am a Senior Java developer with 8+ years experience in JavaFX and Java Swing. I have been doing this kind of Java projects many times. Please let me know. Best Regards

€200 EUR in 2 dias
(3 Comentários)

This is token bid, I have good experience in Java and appointment calendar. Look forward and implement every step of check list. You may pay diligent amount based on your budget and my amount of work Trac

€270 EUR in 7 dias
(3 Comentários)

Dear Client. Thank you for your posting. I've just read your description and guarantee 100% success on your job. Let's discuss about budget and deadline on private chat. Looking forward to hearing from you soon.

€130 EUR in 5 dias
(0 Comentários)

yHi, I see that you need some assistant in Distributed appointment calendar app I have skills in: C,C#,C++,JAVA and I have experience in web development. I have skills with the follo ,,,,,wing programming languages: C Mais

€140 EUR in 3 dias
(0 Comentários)

Hello, I am a professional Java developer with 6 years of experience in Java related technologies. I have worked in multiple projects from multiple domains with hands-on experience in Java8 SpringBoot Microservices AWS Mais

€250 EUR in 7 dias
(0 Comentários)

I am a FullStack Developer & consultant with experience of working on a variety of website & web app development projects. I work on all aspects of the development life cycle, applying my knowledge of OOP and MVC arch Mais

€250 EUR in 7 dias
(1 Comentário)