Java Web Project
Budget: $10 – $30 USD
Develop a web-based project as part of a system by a book reading competition committee. For this
system, there are three types of users: competitor, reviewer, and system admin. According to the
competition description, each book reading process go through different states: start, finished,
summarized, and revoked. Start state occurs when a competitor adds a new, non-revoked book.
Finished state when the competitor denotes the completion of reading that book. Summarized state is
when the competitor submits the summarization for the read book. According to the announced rules,
if the book reading is in state start or finished for more than 3 days the book reading state should be
revoked and the related book should be in the revoked list for this competitor. The competitor could
remove a book within 2 days.
The competitor user should be able to add a book to read, to remove a book or to modify its details or
status. He can view his books and associated scores at the end. The review user can view and accept
(score=1) or reject (score=0) the summary of each book of the assigned competitors. The admin user
should be able to perform regular date checks for all book readings and perform random assignment of
reviewer to competitors. Any user should be authenticated to be given role access rights.
Phase 1 (GUI)
At phase 1, develop the client-side interface in such a way that competitor and reviewer should access
the system via web browser while the admin should access the system via a java application. [5 marks]
Ensure that the following tasks are properly provided: [25 marks]
For competitor user
1. After a successful login process a list of competitor’s books along with the associated scores,
previously saved as JSON file in the server, should be retrieved and displayed.
2. The competitor should be able to either add, modify status or details or delete a book according
to the previously stated rules.
For reviewer users:
1. After a successful login process, the reviewer user should be able to view all books of the
associated competitors and admit or reject the summaries.
For admin users:
1. After a successful login process, the admin should be able to run checks on the dates to revoke
the books
2. The admin should be able to make a random assignment of the reviews to competitors.
Hint:
Provide the necessary attributes not just the given attributes and GUI interfaces and use the necessary
communicating protocol.
The book attributes
system, there are three types of users: competitor, reviewer, and system admin. According to the
competition description, each book reading process go through different states: start, finished,
summarized, and revoked. Start state occurs when a competitor adds a new, non-revoked book.
Finished state when the competitor denotes the completion of reading that book. Summarized state is
when the competitor submits the summarization for the read book. According to the announced rules,
if the book reading is in state start or finished for more than 3 days the book reading state should be
revoked and the related book should be in the revoked list for this competitor. The competitor could
remove a book within 2 days.
The competitor user should be able to add a book to read, to remove a book or to modify its details or
status. He can view his books and associated scores at the end. The review user can view and accept
(score=1) or reject (score=0) the summary of each book of the assigned competitors. The admin user
should be able to perform regular date checks for all book readings and perform random assignment of
reviewer to competitors. Any user should be authenticated to be given role access rights.
Phase 1 (GUI)
At phase 1, develop the client-side interface in such a way that competitor and reviewer should access
the system via web browser while the admin should access the system via a java application. [5 marks]
Ensure that the following tasks are properly provided: [25 marks]
For competitor user
1. After a successful login process a list of competitor’s books along with the associated scores,
previously saved as JSON file in the server, should be retrieved and displayed.
2. The competitor should be able to either add, modify status or details or delete a book according
to the previously stated rules.
For reviewer users:
1. After a successful login process, the reviewer user should be able to view all books of the
associated competitors and admit or reject the summaries.
For admin users:
1. After a successful login process, the admin should be able to run checks on the dates to revoke
the books
2. The admin should be able to make a random assignment of the reviews to competitors.
Hint:
Provide the necessary attributes not just the given attributes and GUI interfaces and use the necessary
communicating protocol.
The book attributes