Design and develop a simple client-server application implementing a Quiz game.

Construct java code using Eclipse please, i have attached the assignment specification, there are 3 tasks i only want task 1 which states essential requirements, please construct the java code as simple as possible with detailed comments explaining the syntax used so i can understand it. The instructions below are in the attached file and are the specs i require, thank you. 1. The users can connect to register to the Quiz Server to start a quiz game. 2. The server can set up a game to accept M players, to be decided at start-time. 3. The client must have at least a textual interface. The communication between client and server can be implemented with any middleware technology of your choice (sockets, http, web services, etc..). 4. In tournament mode, when the game starts the server send to all the clients a random question among N quizzes with the 5 possible answers that will be visualized to the users (only one is correct). a. The first user sending the correct answer will get 1 point. b. The winning user and the correct answer will be communicated to all the users, along with the current rank. c. After 10 questions the game ends and the final rank is visualized: a congratulation message is sent to the winner and a consolation message is sent to the others. 5. In the friendly mode, when the game starts the server sends the same set of N questions, one after the other, to all users but the competition is not in realtime: each session with a user/client is managed independently from the others and when all the users have answered all the questions then the final 4 ranking is shown to all: use a timeout to conclude the quiz and print the final results 6. In practice mode the user will receive N questions one after another and there is no timeout and no competition with other users: the final result will be sent to the user after answering the last question. 7. Extend the client interface with a GUI interface aimed to make it more convenient for the user to use the client. Although you are free to decide the design the GUI, at least you should convert the main client interface into a GUI with places that display all the quizzes and messages from the server, a text area for you to write answers and an area where the list of currently logged users and, possibly, scores are displayed.