Skip to content

Project Requirements

Halil Umut Özdemir edited this page Nov 8, 2020 · 69 revisions

Glossary

1. Account Information: Name, surname, e-mail and affinities are necessary information. Profile photo, research, ResearchGate, and Google Scholar accounts are optional information.

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. This also helps users to distribute requirements among the collaborators so that they can keep track of the progress.

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

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. Issue: Issue is a way to distribute requirements or task of the project/paper. An issue item consists of a description, and the user that creates that issue item. An issue consists of issue items and in addition to those,a title, a creator user(which is the user that creates the first issue item), a deadline and an assignee list.

10. Invisible: Any user and guest (excluding the collaborators of the workspace) don't monitor the contents of the workspace.

11. Label: Related keywords about the workspace indicating the contents of the workspace. Users can search the related keywords, and find related the posts with regards to these labels. E.g. State of the Project, research field of the project, difficulty.

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

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

14. User: A user who is registered to the system.

15. 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 Users and sends invitations to Users.

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

17. Sorting Criteria: Date, number of collaborators needed.

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

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

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

21. Visible: Any user inspects the contents of the workspace.

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

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

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

1 Functional Requirements

1.1 User Requirements

1.1.1 Guests and Registration

  • 1.1.1.1 Guests shall be able to register by providing account information which includes name, surname, e-mail, affinities and optionally profile photo, past research, ResearchGate, and Google Scholar accounts.

  • 1.1.1.2 Guests should be able to register by using their Google accounts.

  • 1.1.1.3 Guests shall accept the Terms of Use and Privacy Policy in order to register.

  • 1.1.1.4 Guests shall be able to do basic & advanced search with using filters.

  • 1.1.1.5 Guests shall be able to see upcoming events and their details, and project descriptions.

  • 1.1.1.6 Guests should be able to see trending projects.

1.1.2 Login

  • 1.1.2.1 Users shall be able to login by using their e-mail addresses and passwords.

  • 1.1.2.2 Users should be able to login by using their Google accounts.

  • 1.1.2.3 Users shall be able to reset their password if they ever forget it.

1.1.3 User Follow & Rating

  • 1.1.3.1 Users shall be able to follow public accounts.

  • 1.1.3.2 Users shall be able to send requests to follow private accounts.

  • 1.1.3.3 Users with private accounts shall be able to accept/reject follow requests.

  • 1.1.3.4 Users shall be able to comment & rate users that are collaborated with.

  • 1.1.3.5 Users shall be able to report another user in case of an inappropriate behavior or content.

1.1.4 Permissions in Projects

  • 1.1.4.1 Users shall be able to create public/private workspace.

  • 1.1.4.2 Users shall be able to invite users to the workspace at Search for Collaborators State.

  • 1.1.4.3 Users shall be able to send a request for collaboration to the public workspaces at Search for Collaborators State or Ongoing State.

  • 1.1.4.4 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 Users shall set the workspace information (which is long & short description, title, labels, related upcoming events, number of collaborators) during the workspace creation phase.

  • 1.1.4.7 Collaborators of a workspace shall be able to upload the related materials such as editable files, plots, PDF files.

  • 1.1.4.8 Collaborators of a workspace should be able to edit editable files.

  • 1.1.4.9 Users shall be able to view 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 Collaborators shall be able to inspect the related materials of their private workspace.

  • 1.1.4.11 Collaborators shall be able to leave the workspace.

  • 1.1.4.12 Collaborators shall be able to create, close and reopen issues and assign any collaborator.The definition of the issue can be found under the Glossary part.

  • 1.1.4.13 Collaborators shall be able to create milestones and add them to the project timeline to distribute requirements and tasks, and also to keep track of the progress.

  • 1.1.4.14 Collaborators shall be able to change the state of the workspace.

  • 1.1.4.15 Collaborators shall be able to be link the workspace to an upcoming event in the system.

1.1.5 Profile Management

  • 1.1.5.1 Users shall be able to edit their account information which includes name, surname, e-mail, affinities, profile photo, research, ResearchGate and Google Scholar accounts.

  • 1.1.5.2 Users shall be able to set their profiles as either public or private.

  • 1.1.5.3 Users shall be able to link their Google Scholar & ResearchGate accounts.

  • 1.1.5.4 A user shall be able to view public profile pages.

  • 1.1.5.5 Users shall be able to view private profiles that they are following.

  • 1.1.5.6 Users shall be able to mute all of the notifications.

  • 1.1.5.7 Users shall be able to view sections as followers, comments, ratings, photo, name and e-mail in a profile.

1.1.6 Search

  • 1.1.6.1 A user and a guest shall be able to search public workspaces, upcoming events, and users using keywords.

  • 1.1.6.2 Users and guests shall be able to do an advanced search on only public workspaces, upcoming events, and any profile by specifying filters such as founder of the project, starting date, submission deadline, research area/topic and labels.

  • 1.1.6.3 Users and guests should be able to sort search results of workspaces according to the sorting criteria as date, and number of collaborators needed, alphabetical order.

  • 1.1.6.4 Users and guests should be able to sort search results of upcoming events according to the sorting criteria as date, alphabetical order.

  • 1.1.6.5 Users and guests should be able to sort search results of users according to the sorting criteria as alphabetical order.

1.2 System Requirements

1.2.1 System

  • 1.2.1.1 System shall provide the activities of the users that are followed or in collaboration as a stream in the home page.

  • 1.2.1.2 System shall provide date information about upcoming events.

  • 1.2.1.3 System should provide profile recommendations for new people to follow.

  • 1.2.1.4 System shall provide workspace recommendations for Users which are at Search for Collaborators State according to the requirements explained in 1.2.4.

  • 1.2.1.5 System shall verify each newly registered account via e-mail.

1.2.2 Search Engine

  • 1.2.2.1 System shall provide a mechanism that users can use to search.

  • 1.2.2.2 Search engine shall search content concerning the research area, topic, and scope.

  • 1.2.2.3 Search engine shall provide recent search history for the users.

  • 1.2.2.4 System shall support searching for semantically related content.

  • 1.2.2.5 System should have a tag mechanism to enhance the recommendation, searching and related functionalities.

1.2.3 Recommendation

  • 1.2.3.1 The platform shall support a recommendation system.

  • 1.2.3.2 The platform shall provide definitive labels according to the user's skills.

  • 1.2.3.3 Recommendation system shall recommend appropriate projects for the interests and technical suitability to Users.

  • 1.2.3.4 Recommendation system shall recommend appropriate 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 users when new conferences have been added.

  • 1.2.4.2 The system shall send notifications when the user has new followers or follow requests.

  • 1.2.4.3 The system shall send notifications when a user gets a new comment or rating.

  • 1.2.4.4 The system shall send notifications to the user when he/she gets accepted for collaboration from a project.

  • 1.2.4.5 The system shall send notifications to the collaborators of the workspace when any application for collaboration request is sent to that workspace.

1.2.5 Project/Issue Management System

  • 1.2.5.1 System shall support three different states for the workspaces, namely Search for Collaborators State, Ongoing State and Published State.

  • 1.2.5.2 System shall provide a functionality for collaborators to share materials such as PDF files, plots etc. in the workspace.

  • 1.2.5.3 System shall prevent users who do not collaborate to access private workspaces

1.2.6 Profile Page

  • 1.2.6.1 A profile page shall be public or private.

  • 1.2.6.2 Profile Page of any user shall be different from each other at least by e-mail information.

  • 1.2.6.3 Profile page shall include the research information which is fetched from Google Scholar or ResearchGate account of the user if this accounts are provided to the system.

  • 1.2.6.4 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.

  • 1.2.6.5 Profile page shall provide account information which includes name, surname, e-mail certainly and affinities, profile photo, research, ResearchGate and Google Scholar accounts if these information is provided to the system.

  • 1.2.6.6 A public profile page and all information provided (described in 1.2.6.3, 1.2.6.4, 1.2.6.5) shall be able to be viewed by any user in the system.

  • 1.2.6.7 A private profile page and all information provided (described in 1.2.6.3, 1.2.6.4, 1.2.6.5) shall be able to be viewed by only the followers of the owner of the profile page.

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.

  • 2.2.4 System shall be backed up to AWS at the end of each day according to GMT +3.

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.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 There shall be a web platform and a native Android application that supports the same functionalities.

  • 2.5.5 The implementation of the system should follow W3C standards and W3C Activity Streams Protocol.

References









Clone this wiki locally