Skip to content

Requirements

Emilcan Arıcan edited this page Jan 15, 2021 · 76 revisions

Glossary

  • 1. User: A person capable of contributing to or collaborating with others Projects, and has their own profile page. Authentication is required.
  • 2. Collaborator: A user that participates in a project.
  • 3. Profile Page: Page that users shall be able to share information about themselves.
  • 4. Events: The news about upcoming conferences, meetings and important dates.
  • 5. Profile: A visual display of personal data associated with a specific user.
  • 6. Search: Find semantically similar users and Projects on the context information provided in the semantic tags.
  • 7. Password: Consists of at least six characters and at most sixteen characters that are a combination of letters, numbers and special characters.
  • 8. Projects: Long-term works that involve milestones, business packages, deadlines.
  • 9. Basic Search: Only text matching based search.
  • 10. Tag: Small labels that indicates related aspects of a project.
  • 11. Notification: Message that informs the user about a specific event.
  • 12. Recommendation System: System that recommends contents and projects that user might be interested in.
  • 13. Academician: Users that teach or do research in university.
  • 14. Public: Projects that can be seen by all users and can be requested to join by all users.
  • 15. Private: Projects that can be seen by only collaborators and the authors of them can invite other users.
  • 16. Author: Owner of the project.

Project Requirements


1. Functional Requirements

  • 1.1 User Requirements

  • 1.1.1 Registration

    • 1.1.1.1 Users shall be able to register by providing name, surname, unique email address and password.
    • 1.1.1.2 Users shall validate the email address for completing the registration phase.
    • 1.1.1.3 Users shall specify the research interests by tags.
    • 1.1.1.4 Users shall provide the information about affiliation.
  • 1.1.2 Users shall login by email and password provided.

  • 1.1.3 Users shall be able to reset their passwords through their associated email.

  • 1.1.4 Users shall be able to search and view users, public projects.

  • 1.1.5 Users shall be able to view profile pages of authors, and collaborators of projects.

  • 1.1.6 Users shall be able to search related information about the upcoming events.

  • 1.1.7 Users shall be able to send request to join the public projects as collaborators.

  • 1.1.8 Users, as the owner of the projects, shall be able to accept or reject requests.

  • 1.1.9 Users shall be able to invite any user to their projects.

  • 1.1.10 Users shall be able to accept or reject invitations.

  • 1.1.11 User shall be able to disable join requests to end call for collaboration phase.

  • 1.1.12 Users shall be able to upvote other users.

  • 1.1.13 Users shall be able to collaborate on more than one project.

  • 1.1.14 Users shall be able to have more than one project topic posted.

  • 1.1.15 Users shall be able to specify a deadline for the project.

  • 1.1.16 Users shall not be able to delete a project that is in progress.

  • 1.1.17 Users shall be able to log out from his account.

  • 1.1.18 Users shall be able to delete his account.

  • 1.1.19 Users shall be able to revert an upvote they gave before.

  • 1.1.20 Users shall be able to add additional files to the collaborated projects.

  • 1.1.21 Users shall be able to follow other users on the platform.

  • 1.1.23 Profile Page

    • 1.1.23.1 Users shall be able to provide information about the research area, recent publications and affiliation.
    • 1.1.23.2 Users shall be able to link their Google Scholar or ResearchGate accounts.
    • 1.1.23.3 Users shall be able to edit their own profile page and make some personal information private.
    • 1.1.23.4 Users shall be able to see invitations that are sent from the other users.
    • 1.1.23.5 Users shall be able to see upvotes that are made by other users.
    • 1.1.23.6 Users shall be able to see their followers.
    • 1.1.23.7 Users shall be able to see people who they follow.
  • 1.1.24 Creating / Editing Page

    • 1.1.24.1 Users shall be able to provide information about: topic of the research, deadline of submission, milestones, codes, documents, result plots / figures, required skills in order to apply and if the project is funded or not.
    • 1.1.24.2 Users shall be able to add a summary(abstract) part.
    • 1.1.24.3 Users shall be able to state the type of the content (Project).
    • 1.1.24.4 Users shall be able to state whether project is private or public.
    • 1.1.24.5 Users shall be able to add collaborators during creation of a project.
    • 1.1.24.6 Users shall be able to add tags related to project.
    • 1.1.24.7 Collaborators shall be able to track the information shared by other collaborating users.
    • 1.1.24.8 Collaborators shall be able to prepare document or article for submission on the platform.
  • 1.1.25 Project Page

    • 1.1.25.1 Users shall be able to create a new project.
    • 1.1.25.2 Users shall be able to see the status of their project(s).
    • 1.1.25.3 Users shall be able to edit the specifications of their project(s).
    • 1.1.25.4 Users shall be able to see their project(s) in progress.
    • 1.1.25.5 Users shall be able to edit the specifications of their project(s) in progress.
    • 1.1.25.6 Users shall be able to invite another user to collaborate on their own project(s) in progress.
    • 1.1.25.7 Users shall be able to accept or reject other users' request to collaborate on their own project
  • 1.1.26 Search Page

    • 1.1.26.1 Users shall be able to search; other users, projects, and events within the system.
    • 1.1.26.2 Users shall not be able to see private projects unless being a contributor of that project.
    • 1.1.26.3 Users shall be able to filter search results with regards to the tag.
    • 1.1.26.4 Users shall be able to find related posts searching related keywords.
    • 1.1.26.5 Users shall be able to view abstract and description of projects/events related to their activities, profile and interests.
  • 1.1.27 Events Page

    • 1.1.27.1 Users shall be able to see upcoming events.
    • 1.1.27.2 Users shall be able to see closing deadlines of joined projects.
    • 1.1.27.3 Users shall be able to travel in the timeline to see past and future events.
    • 1.1.27.4 Users shall be able to view particular event more detailed when clicked/tapped.
  • 1.2 System Requirements

    • 1.2.1 Search & Recommendation

      • 1.2.1.1 System shall support basic search of the available content.
      • 1.2.1.2 System shall support semantic search.
      • 1.2.1.3 System shall provide a tagging system.
      • 1.2.1.4 System shall provide a filtering system. This system filters the content such as projects/profiles shown to the user.
      • 1.2.1.5 System shall provide a recommendation mechanism that recommends projects/events to the user based on the user activities and profile.
    • 1.2.2 Homepage

      • 1.2.2.1 System shall provide a homepage for each user, showcasing recent and followed users' project(s).
      • 1.2.2.2 System shall provide ongoing activities of the collaborators for each user.
    • 1.2.3 Profile Page

      • 1.2.3.1 System shall provide a profile page for each user, showcasing their interests, past contributions to projects, and their related links (example: Google Scholar).
      • 1.2.3.2 System shall retrieve information of a user from their Google Scholar/ResearchGate pages.
    • 1.2.4 Notifications

      • 1.2.4.1 System shall provide a notification mechanism for informing users about the incoming invitations.
      • 1.2.4.2 System shall provide a notification mechanism for informing users about whether their requests to join a project accepted or rejected.
      • 1.2.4.3 System shall provide a notification mechanism for informing users about whether someone has upvoted on their profile.
    • 1.2.5 Events

      • 1.2.5.1 System shall provide a page of events for every user.
      • 1.2.5.2 System shall fill this page with the events related to user.
    • 1.2.6 System shall provide a text editor for publishing documents and articles.

2. Nonfunctional Requirements

  • 2.1 Activity Streams

  • 2.2 Availability & Accessibility

    • 2.2.1 The system shall be available as a web application and an Android application.
    • 2.2.2 Applications shall be available in English.
    • 2.2.3 The system shall notify users in case of a failure.
    • 2.2.4 The system shall support Safari, Chrome and Firefox as a browser and shall support Android 6.0 and later versions.
  • 2.3 Performance & Scalability

    • 2.3.1 The system shall use caching mechanism to reduce response time.
    • 2.3.2 The system shall respond to a request at most 15 seconds.
    • 2.3.3 The system shall be able to respond up to 100 requests per second.
  • 2.4 Security

    • 2.4.1 The system shall be protected from unauthorized accesses and attacks to the system and its stored data according to KVKK and GDPR
    • 2.4.2 The system shall force users to use strong passwords that contain a lowercase letter, an uppercase letter, a number and a special character and contain 6-16 characters in total.
    • 2.4.3 The system shall store only the hashed version of passwords.
    • 2.4.4 The system shall provide a validation code for users during registration.
    • 2.4.5 The system shall be protected against SQL injection and DDOS attacks.

🎓 Team Members

User Manuals

System Manuals

💻 Project

🗓 Meeting Notes 352

🗓 Meeting Notes 451

Milestones

📎 Assignments

🔍 Issue Labels

📞 Communication Plan

📝 Research

Project Plan

Brain Storms

Clone this wiki locally