Skip to content

Project Requirements

alperendivriklioglu edited this page Mar 2, 2020 · 69 revisions

Glossary

1. Accept/Reject Project: A mechanism gives the project owner permission to accept or reject another project.

2. Account Information: Personal information received from the user.

3. Admin: A user who is capable of managing the whole application.

4. Advanced Search: A search mechanism which can be done using filters of the system.

5. API: A set of routines, protocols, and tools for building software applications.

6. Application to the Project: For public projects which are at Search for Collaborators State, Registered Users can apply to collaborate in the project.

7. Calendar: A chart or series of pages showing the days, weeks, and months of a particular year to give information about events.

8. Collaborator: Another user working on the project.

9. Comment: A verbal or written remark expressing an opinion or reaction about a project.

10. Deadline: The latest time or date by which job should be completed.

11. Deadline and Milestone Mechanism: A mechanism to add deadlines for some tasks of the projects on a timeline.

12. Filter(Search): Founder of the Project, Starting Date, Submission Deadline, Research Area/Topic and State of the Project are filters in the advanced search of the platform.

13. Follow: A mechanism enables a user to track other users.

14. Follow Request: A request to follow a project or a user.

15. Guest: An unregistered person who uses the application.

16. Header: A text that describes the project/paper/profile shortly.

17. Invisible: Any registered user and guest (excluding the collaborators of the workspace) doesn't see the contents of the workspace.

18. Issue: A subject or problem that project workers are thinking or doing.

19. Keyword: A word which acts as the key to search mechanism. Tags of the projects.

20. Label: A classifying phrase or name applied to a project or a job, especially one that is inaccurate or restrictive.

21. Login Page: A page a user gains access to the platform by identifying and authenticating themselves.

22. Long Description: Detailed explanation of project or a job in a workspace.

23. Milestone: A significant stage or event in the development of the project.

24. Ongoing State: It is the second of the three states of a project. This is the development phase of the project. After finding enough collaborators, the project will go to the second state which is the Ongoing State.

25. Password: A secret word or phrase that must be used to gain admission to a place.

26. Privacy Policy: A statement or a legal document (in privacy law) that discloses some or all of the ways a party gathers, uses, discloses, and manages a customer or client's data.

27. Project: An academic work with one or more people working on it on the platform.

28. Project Offer: A recommendation system that offering a related project to a given user.

29. Project Related Materials: Codes, editable documents(.txt files, Markdown files, etc.), plots, PDF files.

30. Project Timeline: A timed road map of the project.

31. Published State: It is the last stage of a project. After milestones are completed with the request of owners of the project, the project will go to Published State.

32. Rate: A mechanism enables a user to assign a standard or value to another user who worked with.

33. Recommendation System: A subclass of an information filtering system that seeks to predict the preferences and interests of a person.

34. Registered User: A user who is registered to the system.

35. Registration Page: A page that an individual signs up by using his/her credentials.

36. Report: A complaint system between users.

37. Research Paper: A document which contains information about user's research.

38. Search Engine: A tool that enables users to locate information in the application or web.

39. Search for Collaborators State: It is the first of the three states of a project. In this state, the founder of the project waits for requests from other Registered Users and sends invitations to Registered Users.

40. Search Result: Header list of projects/papers/profiles in response to a query.

41. Semantic Search: Semantic search is a data searching technique in which a search query aims to not only find keywords but to determine the intent and contextual meaning of the words a person is using for search.

42. Short Description: Short explanation of project or a job in a workspace.

43. Tags of contents: A label attached to someone or something for the identification or to give other information.

44. Team of a Workspace/Project: Group of registered users who works together for the workspace/project.

45. Terms of Use: The legal agreements between a service provider and a person who wants to use that service.

46. Title: Title of the project.

47. Upcoming Event: Upcoming Conferences, Journal Special Issues, Submission Deadlines and CFP (call for papers) documents.

48. User: A person who uses the application.

49. Visible: Any registered user sees the contents of the workspace.

50. Workspace: A storage area for a group of users to develop their project/paper proposal collaboratively.


1. Functional Requirements

1.1 User Requirements

1.1.1 Guests

  • 1.1.1.1 Guests shall be able to enter the login & registration page.
  • 1.1.1.2 Guests shall be able to do basic & advanced search.
  • 1.1.1.3 Guests shall only be able to see search results.
  • 1.1.1.4 Guests shall be able to see upcoming events and their details.
  • 1.1.1.5 Guests shall see recommended project/paper offers which are not customized for the guest.
  • 1.1.1.6 Guests shall need to login to see activity stream which is only for Registered Users.

1.1.2. Registration & Login

  • 1.1.2.1 Users shall be able to switch between Registration and Login pages.
  • 1.1.2.2 Guests shall provide his/her name, surname, email, and password while registering.
  • 1.1.2.3 Guests shall provide his/her institutions while registering.
  • 1.1.2.4 Guests shall provide his/her expertise while registering.
  • 1.1.2.5 Registered Users shall be able to login by providing his/her e-mail and password.
  • 1.1.2.6 Users shall be able to register/login by using his/her Google account.
  • 1.1.2.7 Guests shall accept the Terms of Use and Privacy Policy in order to register.

1.1.3. User Follow & Rating

  • 1.1.3.1 Registered users shall be able to follow Registered Users with public accounts.
  • 1.1.3.2 Registered users shall be able to comment & rate Registered users if they worked together with.
  • 1.1.3.3 Registered Users shall be able to report Registered Users, which can be taken care of by Admins.
  • 1.1.3.4 Registered Users shall be able to send follow requests to Registered Users with private accounts.
  • 1.1.3.5 Registered Users with private accounts shall be able to accept/reject follow requests.

1.1.4. Permissions in Projects

  • 1.1.4.1 Only the registered users shall be able to create public/private project/paper workspace.
  • 1.1.4.2 Only the registered users shall be able to invite registered users to the project at Search for Collaborators State.
  • 1.1.4.3 Only the registered users shall be able to apply to the public projects at Search for Collaborators State.
  • 1.1.4.4 Only the registered users shall be able to accept/reject project/paper invitations.
  • 1.1.4.5 Only the registered users shall be able to accept/reject project/paper requests to their projects/papers.
  • 1.1.4.6 Only the registered users shall set short & long descriptions, title, deadline, labels and the field of studies while creating the workspace.
  • 1.1.4.7 Only the registered users who are the members of a workspace shall be able to upload the codes, documents, plots, and images about project/paper to that workspace.
  • 1.1.4.8 Only the registered users shall be able to see the contents of the public workspaces when a project is in the published state.
  • 1.1.4.9 Only a registered user and their team for a project shall be able to see the contents of their private workspace.
  • 1.1.4.10 Collaborators shall be able to abandon project/paper intentionally.
  • 1.1.4.11 Collaborators shall be able to create issues and assign any member of the team of the project to issues.
  • 1.1.4.12 Collaborators shall be able to create milestones and add them to the project timeline in the deadline and milestones mechanism.
  • 1.1.4.13 Collaborators shall be able to close and reopen issues.

1.1.5. Profile Management

  • 1.1.5.1 Registered Users shall be able to edit profile photos, his/her password, institutions, and expertise.
  • 1.1.5.2 Registered Users shall be able to choose the privacy of his/her profile.
  • 1.1.5.3 Registered users shall be able to link his/her Google Scholar & ResearchGate.
  • 1.1.5.4 Users shall be able to see public profile pages.
  • 1.1.5.5 Registered Users shall be able to see private profiles that they are following.
  • 1.1.5.6 Registered Users shall be able to access account information of his/her followings.

1.1.6. Search

  • 1.1.6.1 Users shall be able to search projects/papers/profiles using keywords.
  • 1.1.6.2 Users shall be able to do an advanced search on projects/papers/profiles by specifying filters.
  • 1.1.6.3 Users shall be able to sort search results according to date, collaborator number and alphabetical order.

1.2. System Requirements

1.2.1. Upcoming Events

  • 1.2.1.1 The system shall provide information about upcoming events.
  • 1.2.1.2 The system shall get the upcoming conferences and journals using an API.
  • 1.2.1.3 The system shall allow admins to add upcoming events.
  • 1.2.1.4 The system shall provide a graphical interface for upcoming events to Users.

1.2.2. Home Page

  • 1.2.2.1 The home page shall have a navigation bar to aid the users.
  • 1.2.2.2 The home page shall have an activity stream that shows what the user's followers have been doing.
  • 1.2.2.3 The home page shall have information about upcoming events and also their details.
  • 1.2.2.4 The home page shall provide a mechanism that users can use to search.
  • 1.2.2.5 The home page shall provide profile recommendations for new people to follow.
  • 1.2.2.6 The home page shall provide recommendations for Users which are at Search for Collaborators State according to the requirements explained in 1.2.4.

1.2.3. Search Engine

  • 1.2.3.1 The platform shall support a search engine which can use a set of basic keywords.
  • 1.2.3.2 Search engine shall search content concerning the research area, topic, scope, and difficulty.
  • 1.2.3.3 Search engine shall provide recent search history for the registered users.
  • 1.2.3.4 Advanced Search part of the search engine shall have filters that can narrow down the search for the user.
  • 1.2.3.5 Search engine shall support semantic search.
  • 1.2.3.6 Search engine shall be able to list the findings according to the match rate, most recently added with the choice of the user.
  • 1.2.3.7 Search engine shall list the finding in the following order if the user has no choice: Exact Matches(Decreasing match rate), Semantic Search Matches(Decreasing match rate)
  • 1.2.3.8 Search engine shall provide a searching mechanism that can search for workspaces and registered users.

1.2.4. Recommendation

  • 1.2.4.1 The platform shall provide a history section to keep user activity.
  • 1.2.4.2 The platform shall provide labels according to the user's skills.
  • 1.2.4.3 The platform shall support a recommendation system.
  • 1.2.4.4 The recommendation system shall work according to the old projects or paper preferences of the user.
  • 1.2.4.5 Recommendation system shall recommend appropriate projects for the interests and technical suitability to Registered Users.
  • 1.2.4.6 Recommendation system shall recommend appropriate Registered Users for the projects which are at the Search for Collaborators State.

1.2.5. Notification

  • 1.2.5.1 The system should send notifications to registered users when new conferences have been added.
  • 1.2.5.2 The system should send notifications when the registered user has new followers or follow requests.
  • 1.2.5.3 The system should send notifications when a user gets a new comment or rating.
  • 1.2.5.4 The system should send notifications to the user when he/she gets accepted from a project.
  • 1.2.5.5 The system should send notifications according to the user's preferences, notifications shall be mutable.
  • 1.2.5.6 The system shall send notifications via e-mail or the website or the application according to the user's preferences.
  • 1.2.5.7 The system should send notifications to the team of the project for any application to the project.
  • 1.2.5.8 The system should send notifications to the team of the project when a deadline of any assigned issue is close.

1.2.6. Project/Issue Management System

  • 1.2.6.1 The system shall provide a public or private workspace for any project or paper proposal.
  • 1.2.6.2 For any workspace there shall be three states which are Search for Collaborators State, Ongoing State and Published State.
  • 1.2.6.3 For public workspace at Ongoing State, the system shall provide an invisible area in the workspace for any related material for the project.
  • 1.2.6.4 For public workspaces at Search for Collaborators State or Published State, the workspace shall be visible.
  • 1.2.6.5 For private workspace at any state, the workspace shall be invisible.
  • 1.2.6.6 The platform shall provide a deadline and milestone mechanism for the issue management system.
  • 1.2.6.7 The platform shall provide a text editor to edit documents and codes.
  • 1.2.6.8 Any project related material should be shared and monitored at any workspace.
  • 1.2.6.9 The system shall provide a mechanism for applications to the public projects at Search for Collaborators State.
  • 1.2.6.10 A workspace shall be able to be linked to an upcoming event in the system, and then the project's deadline shall automatically be set as the deadline of that particular upcoming event.

1.2.7. Profile Page

  • 1.2.7.1 The system shall provide a profile page for all registered users.
  • 1.2.7.2 The profile page shall provide information about the research area.
  • 1.2.7.3 The profile page shall provide information about recent publications.
  • 1.2.7.4 The profile page shall provide information about affiliation.
  • 1.2.7.5 The profile page should be fetched from the users' accounts of other related sites.
  • 1.2.7.6 The profile page should have a comments and rating section.
  • 1.2.7.7 The profile page shall provide the follower information which is the number of followers, the number of followed users and links to profile pages followers and followed users.

2. Non-Functional Requirements

2.1. Performance & Reliability

  • 2.1.1 System shall respond in at most 3 seconds.
  • 2.1.2 Search shall give result in at most 5 seconds.
  • 2.1.3 The system should work 7/24 with no more than 1% downtime.

2.2. Security

  • 2.2.1 Passwords shall be encrypted with SHA-256.
  • 2.2.2 System shall use HTTPS Protocol.
  • 2.2.3 System objects shall be encrypted with MD5.
  • 2.2.4 System shall be backed up to AWS at the end of each day.

2.3. Portability

  • 2.3.1 Mobile Application shall support Android version 7.1.2 or later.
  • 2.3.2 Web Application shall support Chrome version 79.0.3945.130 or later.
  • 2.3.3 Web Application shall support Firefox version 73.0.1 or later.
  • 2.3.4 Web Application shall support Safari version 13.0.5 or later.
  • 2.3.5 Web Application shall support Opera version 66.0.3515.115 or later.
  • 2.3.6 Mobile Browsers shall redirect to the mobile application.

2.4. Ethical Issues and Legal Constraints

  • 2.4.1 In this application "personal information", "contact information", "copyrighted contents", etc. shall be used according to the rules of GDPR and KVKK.
  • 2.4.2 In this project, ethical constraints shall be complied according to ACM Code of Ethics and Professional Conduct document.
  • 2.4.3 New users should accept the "Terms of Use" and "Privacy Policy" of the platform which are prepared according to relevant regulations.

2.5. Implementation

  • 2.5.1 The application shall be deployable on a remote and manually configurable remote server.
  • 2.5.2 The application should be dockerized.
  • 2.5.2 The application shall include necessary API implementations.
  • 2.5.3 Both web platform and Android application should be user-friendly.
  • 2.5.4 The color designs of the platform will be made to improve the experience of color-blind people.
  • 2.5.5 There shall be a web platform and a native Android application that supports the same functionalities.
  • 2.5.6 The implementation of the system should follow W3C standards and W3C Activity Streams Protocol.

References :









Clone this wiki locally