Kahoot!!! Project
Kahoot!!! Project
1 Introduction
via the browser or the app. The quizzes are often complex
Choice questions, and the participants choose an answer through the smartphone,
In this project you can implement an online quiz game (Kahoot). The purpose of this project is
Improve your programming skills and expose in depth the transport layer and the layer
The application (layers 4-5). The project implements the server-client architecture.
Note that the client-server architecture has two entities: a client that consumes
In our case:
• The server is the computer responsible for managing the quizzes. Its services include:
the virgin In the quiz game, the players answer a common question at the same time and receive
Points according to the speed of the answers. After at least 5 questions, the player who obtained the
amount
2 requirements
A variety of questions.
5 It is required to implement a scoring system to monitor the players' performance during quizzes.
6 Apply a time limit to each question, and handle timeout scenarios, i.e. every
7. Design a scoreboard that will show the grades of all the participants.
2 client side
1. Customers need to connect to the server and authenticate themselves to join the quizzes.
3. Customers can choose a quiz category and participate in quizzes with connected customers
others.
4 Implementing a real-time update mechanism to display scores and the correct answers after each
question.
5. Clients should be able to exit the quiz "gracefully" and disconnect from the server.
3 technical highlights
required No input type validation is required - for example, if you expect to receive a string you are
• You are responsible for creating a reliable connection between the server and the clients. Use wisely
• Implementation of a nice and clean GUI (graphical user interface). You will get a grade for that too.
4 instructions
4.1 Application
• You need to implement your code in the Ubuntu linux system in the Python language, as
which could be seen in the workshops. Below is a link where you can learn Python easily:
https://www.w3schools.com/python
4.2 Documentation
• You must attach a document in PDF format that includes the following:
2. An explanation of each file you created - including all classes and functions (which will include
images).
3 serving
• Submission in individuals.
• Compress all files in ZIP format and submit on the course website.