Skip to content

Project Requirements

Halil Umut Özdemir edited this page Mar 6, 2020 · 69 revisions

Glossary

1. Account Information: Name, surname, e-mail, affilities, profile photo, research.

2. Activity Stream: All activities of followed users.(State changes of their workspaces, a update in the users' workspaces)

3. Admin: A user who is capable of managing the whole application(Owner of the site).

4. Collaborator: Any user working on the same workspace.

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

6. Editable Files: Markdown files(.md), any code file(.c,.py,.cpp,.java,.js,.m), txt files, .tex files, etc.

7. Filter: Founder of the Project, Starting Date, Submission Deadline, Research Area/Topic and labels are filters in the advanced search of the platform.

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

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

10. Label: State of the Project, research field of the project, related keywords about the workspace.

11. 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.

12. 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.

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

14. 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.

15. 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.

16. Sorting Criteria: Date, number of collobarators needed.

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

18. Trending Projects: Mostly viewed projects in the platform.

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

20. Visible: Any registered user monitors the contents of the workspace.

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

22. Workspace Information: Long & short description, title, labels, related upcoming events, number of collobarotors needed.

23. Workspace Related Materials: Editable files, plots, PDF files.

1 Functional Requirements

1.1 User Requirements

1.1.1 Guests

  • 1.1.1.1 Guests shall be able to register.
  • 1.1.1.2 Guests shall be able to do basic & advanced search with using filters.
  • 1.1.1.3 Guests shall be able to see upcoming events and their details, and project descriptions.
  • 1.1.1.4 Guests shall be able to see trending projects.

1.1.2 Registration & Login

  • 1.1.2.1 Registered users shall be able to login by using their e-mail addresses and passwords, or with their Google accounts.
  • 1.1.2.2 Guests shall provide their account information while registering.
  • 1.1.2.3 Guests shall accept the Terms of Use and Privacy Policy in order to register.
  • 1.1.2.4 Registered users shall be able to restore their password.

1.1.3 User Follow & Rating

  • 1.1.3.1 Registered users shall be able to follow public accounts without sending requests.
  • 1.1.3.2 Registered users shall be able to send requests to follow private accounts.
  • 1.1.3.3 Registered Users with private accounts shall be able to accept/reject follow requests.
  • 1.1.3.4 Registered users shall be able to comment & rate Registered users if they worked together in a workspace.
  • 1.1.3.5 Registered Users shall be able to report Registered Users to the admins.

1.1.4 Permissions in Projects

  • 1.1.4.1 Registered users shall be able to create public/private workspace.
  • 1.1.4.2 Registered users shall be able to invite registered users to the workspace at Search for Collaborators State.
  • 1.1.4.3 Registered users shall be able to apply to the public workspaces at Search for Collaborators State.
  • 1.1.4.4 Registered users shall be able to accept/reject workspace invitations.
  • 1.1.4.5 Collaborators of the workspace shall be able to accept/reject join requests to their workspaces.
  • 1.1.4.6 Registered users shall set the workspace information while creation of the workspace.
  • 1.1.4.7 Collaborators of a workspace shall be able to upload the related materials.
  • 1.1.4.8 Collaborators of a workspace shall be able to edit editable files.
  • 1.1.4.9 Registered Users shall be able to monitor the related materials of the public workspaces when the project is in the Published State or the Search for Collaborators State.
  • 1.1.4.10 Only the collaborators shall be able to monitor the related materials of their private workspace.
  • 1.1.4.11 Collaborators shall be able to intentionally abandon workspace.
  • 1.1.4.12 Collaborators shall be able to create, close and reopen issues and assign any collaborator.
  • 1.1.4.13 Collaborators shall be able to create milestones and add them to the project timeline in the deadline and milestones mechanism.
  • 1.1.4.14 Collaborators shall be able to change the state of the workspace.

1.1.5 Profile Management

  • 1.1.5.1 Registered Users shall be able to edit their account information.
  • 1.1.5.2 Registered Users shall be able to choose the privacy of their profile.
  • 1.1.5.3 Registered users shall be able to link their Google Scholar & ResearchGate accounts.
  • 1.1.5.4 A user shall be able to access public profile pages.
  • 1.1.5.5 Registered Users shall be able to access private profiles that they are following.
  • 1.1.5.6 Registered Users shall be able to choose how to receive notifications(via e-mail or the website).
  • 1.1.5.7 Registered Users shall be able to mute all of the notifications.

1.1.6 Search

  • 1.1.6.1 A user shall be able to search only public workspaces, upcoming events, and any profile using keywords.
  • 1.1.6.2 Users shall be able to do an advanced search on only public workspaces, upcoming events, and any profile by specifying filters.
  • 1.1.6.3 Users shall be able to sort search results according to the sorting criteria.
  • 1.1.6.4 Registered Users shall be able to inspect only the public projects in any state that they searched.

1.2 System Requirements

1.2.1 Home Page

  • 1.2.1.1 The home page shall have a site map to navigate the users.
  • 1.2.1.2 The home page shall have an activity stream for registered users.
  • 1.2.1.3 The home page shall have date information about upcoming events.
  • 1.2.1.4 The home page shall provide a mechanism that users can use to search.
  • 1.2.1.5 The home page shall provide profile recommendations for new people to follow.
  • 1.2.1.6 The home page shall provide workspace recommendations for Registered Users which are at Search for Collaborators State according to the requirements explained in 1.2.4.

1.2.2 Search Engine

  • 1.2.2.1 Search engine shall search content concerning the research area, topic, and scope.
  • 1.2.2.2 Search engine shall provide recent search history for the registered users.
  • 1.2.2.3 Search engine shall support semantic search.
  • 1.2.2.4 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 Recommendation

  • 1.2.3.1 The platform shall support a recommendation system.
  • 1.2.3.2 The platform shall provide labels according to the registered user's skills.
  • 1.2.3.3 Recommendation system shall recommend appropriate projects for the interests and technical suitability to Registered Users.
  • 1.2.3.4 Recommendation system shall recommend appropriate Registered Users for the projects which are at the Search for Collaborators State.

1.2.4 Notification

  • 1.2.4.1 The system should send notifications to registered users when new conferences have been added.
  • 1.2.4.2 The system should send notifications when the registered user has new followers or follow requests.
  • 1.2.4.3 The system should send notifications when a registered user gets a new comment or rating.
  • 1.2.4.4 The system should send notifications to the registered user when he/she gets accepted from a project.
  • 1.2.4.5 The system should send notifications to the collaborators of the workspace for any application to the project.
  • 1.2.4.6 The system should send notifications to the collaborators of the workspace when a deadline of any assigned issue is close.

1.2.5 Project/Issue Management System

  • 1.2.5.1 For any workspace there shall be three states which are Search for Collaborators State, Ongoing State and Published State.
  • 1.2.5.2 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.5.3 For private workspace at any state, the workspace shall be invisible.
  • 1.2.5.4 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.6 Profile Page

  • 1.2.6.1 The system shall provide a profile page for all registered users.
  • 1.2.6.2 The profile page shall provide account information.
  • 1.2.6.3 The profile page should be fetched from the users' Google Scholar and ResearchGate accounts.
  • 1.2.6.4 The profile page shall provide a comments and rating section.
  • 1.2.6.5 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.3 The application shall include necessary API implementations.
  • 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