In this project, you will implement a UI that displays state of the art (SOTA) results in computer science. There will be authors, papers and topics in the system. These entities will have the following properties:
- Author: Name and surname. They are not necessarily unique independently but you can assume there exists only one author with a name and surname couple.
- Paper: Author, title, abstract, topic and result. Each paper may have multiple authors, yet it has only one result. Moreover, titles are unique though a paper can have multiple topics.
- Topic: Name and SOTA result. By definition, both are unique.
Moreover, there will be two types of people using the system: Admins and users. You do not have to implement an authentication mechanism. You are allowed to provide two options for being user or admin and the person can choose what he/she is.
Your UI must support following operations:
- Only admins shall be able to add/update/delete papers, authors and topics.
- Users shall be able to separately view all authors, papers and topics in the system.
- Users shall be able to view all papers of an author.
- Users shall be able to view SOTA result by topic and which paper this SOTA was achieved.
- Users shall be able to view papers on a specific topic.
- Users shall be able to rank all authors by the number of SOTA results they have.
- Users shall be able to search a keyword and view the papers that contain this keyword in their title or abstract.
- Users shall be able to view co-authors of an author. Co-author querying must be done with stored procedures. Parameters of this procedure will be author name and surname.
- System must contain following triggers: When a new paper is added/updated/deleted, corresponding SOTA must be updated automatically, if necessary.
- You are not expected to deploy your system. So, it is fine for it to work on your local.
- As database choice, you can use any of the relational databases.