Skip to content

Requirements

Emilcan edited this page Oct 26, 2020 · 76 revisions

Glossary

  • 1. User: A person capable of contributing to or collaborating with others Projects/Papers, and has their own profile page. Authentication is required. There are 2 types of users, personal and corporal(institutional).
  • 2. Collaborator: A user that participates a project/paper.
  • 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. Guest: The user who is able to view Projects/Papers and see people's profile pages. No Authentication is required.
  • 6. Profile: A visual display of personal data associated with a specific user.
  • 7. Search: Find semantically similar users and Projects/Papers on the context information provided in the semantic tags.
  • 8. Password: Consists of at least six characters (the more the merrier) that are a combination of letters and numbers.
  • 9. Projects: Long-term works that involve milestones, business packages, deadlines.
  • 10. Papers: Short-term works that contain original research results or review existing results or show a totally new invention.
  • 11. Basic Search: Only text matching based search.
  • 12. Tag: Small labels that indicates related aspects of an project/paper.
  • 13. Report System: System that allows users to report problematic cases.
  • 14. Notification: Message that informs the user about a specific event.
  • 15. Recommendation System: System that recommends contents, papers, and project that user might interested in.
  • 16. Conference: An event where researchers in a field meet, present and discuss their researches.
  • 17. Student: Users that continues their education.
  • 18. Academician: Users that are not student.

Project Requirements


1. Functional Requirements

  • 1.1 User Requirements

    • 1.1.1 Users shall be able to search and view users, public papers and projects

    • 1.1.2 Users shall be able to view profile pages of authors, and collaborators of papers and projects

    • 1.1.3 Users shall be able to search related information about the upcoming conferences or journal special issues

    • 1.1.4 Guests

      • 1.1.4.1 Guests shall not be able to view private papers or projects.
      • 1.1.4.2 Guests shall not be able to join papers/projects, comment to papers/projects or post new papers/projects.
    • 1.1.5 Registration

      • 1.1.5.1 Users shall be able to register by providing name, surname, unique email address and password
      • 1.1.5.2 Users shall validate the e-mail address for completing the registration phase
      • 1.1.5.3 Users shall be able to specify the research interests
      • 1.1.5.4 Users shall provide the information about affiliation
      • 1.1.5.5 Users shall be able to identify themselves as student or academician
    • 1.1.6 Registered Users

      • 1.1.6.1 Users shall login by email and password provided
      • 1.1.6.2 Users shall be able to state whether s/he is looking for a project to collaborate
      • 1.1.6.3 Users shall be able to send request to join the team
      • 1.1.6.4 Users, as the owner of the projects, shall be able to accept or reject requests to join the team
      • 1.1.6.5 Users shall be able to invite any user to participate
      • 1.1.6.6 Users shall be able to accept or reject invitations
      • 1.1.6.7 Users shall be able to rate and comment other users that s/he collaborated with during the collaboration and after the project is completed
      • 1.1.6.8 Users shall be able to collaborate on more than one paper/project
      • 1.1.6.9 User shall be able to disable join requests to end call for collaboration phase
      • 1.1.6.10 Users shall be able to have more than one paper/project topic posted
      • 1.1.6.11 Users shall be able to specify a deadline for the paper/project
      • 1.1.6.12 Users shall not be able to delete a paper/project that is in progress
      • 1.1.6.13 Users shall be able to file complaints
        • 1.1.6.13.1 Users shall be able to report another user, a project or a paper for unwanted/inappropriate behavior
        • 1.1.6.13.2 Users shall be able to mark a publication as unrelated
      • 1.1.6.14 Users shall be able to follow other users on the platform.
        • 1.1.6.14.1 Users shall be able to approve/reject follow requests.
        • 1.1.6.14.2 Users shall be able to set visibility of their projects/papers for the users not following them.
        • 1.1.6.14.3 Users shall be able to request to join a project/paper if they can see it.
        • 1.1.6.14.4 Users shall be able to invite other uses to collaborate, without following them.
      • 1.1.6.15 Users shall be able to set their profiles to public or private.
      • 1.1.6.16 Users shall be able to log out from his account.
      • 1.1.6.17 Users shall be able to delete his account.
      • 1.1.6.18 Users shall be able to delete or update a comment s/he made before.
      • 1.1.6.19 Users shall be able to delete or update a rate s/he gave before.
      • 1.1.6.20 Users shall be able to add additional files to the collaborated projects/papers.
      • 1.1.6.21 Users shall be able to add additional files to their projects/papers in progress.
    • 1.1.7 Registered Users Requirements

      • 1.1.7.1 Profile Page

        • 1.1.7.1.1 Users shall be able to provide information about the research area, recent publications and affiliation.
        • 1.1.7.1.2 Users shall be able to link their Google Scholar or ResearchGate accounts.
        • 1.1.7.1.3 Users shall be able to edit their own profile page.
        • 1.1.7.1.4 Users shall be able to see invitations that are sent from the other users.
        • 1.1.7.1.5 Users shall be able to see messages that are sent from the other users.
        • 1.1.7.1.6 Users shall be able to see ratings and comments that are made by other users.
        • 1.1.7.1.7 Users shall be able to see their followers.
        • 1.1.7.1.8 Users shall be able to see people who they follow.
      • 1.1.7.2 Creating / Editing Page

        • 1.1.7.2.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 the project is funded or not.
        • 1.1.7.2.2 Users shall be able to add a summary(abstract) part.
        • 1.1.7.2.3 Users shall be able to state the type of the content (Paper or Project).
        • 1.1.7.2.4 Users shall be able to state whether project/paper is private or public.
        • 1.1.7.2.5 Users shall be able to add co-authors and collaborators during creation of a project.
        • 1.1.7.2.6 Users shall be able to add tags related to project/paper.
        • 1.1.7.2.7 Collaborators shall be able to track the information shared by corresponding users.
        • 1.1.7.2.8 Collaborators shall be able to prepare document or article for submission simultaneously.
      • 1.1.7.3 Paper/Project Page

        • 1.1.7.3.1 Users shall be able to create a new paper.
        • 1.1.7.3.2 Users shall be able to create a new project.
        • 1.1.7.3.3 Users shall be able to see the status of their paper(s).
        • 1.1.7.3.4 Users shall be able to see the status of their project(s).
        • 1.1.7.3.5 Users shall be able to edit the specifications of their paper(s).
        • 1.1.7.3.6 Users shall be able to edit the specifications of their project(s).
        • 1.1.7.3.7 Users shall be able to see their paper(s) in progress.
        • 1.1.7.3.8 Users shall be able to see their project(s) in progress.
        • 1.1.7.3.9 Users shall be able to edit the specifications of their paper(s) in progress.
        • 1.1.7.3.10 Users shall be able to edit the specifications of their project(s) in progress.
        • 1.1.7.3.11 Users shall be able to invite another user to collaborate on their paper(s) in progress.
        • 1.1.7.3.12 Users shall be able to invite another user to collaborate on their project(s) in progress.
        • 1.1.7.3.13 Users shall be able to accept or reject another users invitation to collaborate on their paper or project
    • 1.1.8 Search Page

      • 1.1.8.1 Users shall be able to search; other users, papers, projects, conferences and journals within the system.
      • 1.1.8.2 Users shall not be able to see private projects/papers unless he/she is a contributor of that project/paper.
      • 1.1.8.3 Users shall be able to filter search results with regards to the research area, topic, scope and difficulty.
      • 1.1.8.4 Users shall be able to find related posts searching related keywords.
      • 1.1.8.5 Users shall be able to view previews of papers/journals/projects/conferences related to their activities, profile and interests.
    • 1.1.9 Events Page

      • 1.1.9.1 Users shall be able to see about upcoming conferences related to joined projects/papers.
      • 1.1.9.2 Users shall be able to see closing deadlines of joined projects/papers.
      • 1.1.9.3 Users shall be able to travel in the timeline to see past events.
      • 1.1.9.4 Users shall be able to travel in the timeline to see far future events.
      • 1.1.9.5 Users shall be able to synchronize this calendar with other calendar applications.
      • 1.1.9.6 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/papers/profiles showed to the registered user.
      • 1.2.1.5 System shall provide a recommendation mechanism that recommends papers/journals/projects/conferences to the registered user based on the user activities and profile.
      • 1.2.1.6 System shall provide a recommendation mechanism for project owners, to recommend possible collaborators based on their research interests, or previous works in that area.
    • 1.2.2 Homepage

      • 1.2.2.1 System shall provide a homepage for each registered user, showcasing recent sharings.
      • 1.2.2.2 System shall provide ongoing activities of the collaborators for each registered user.
    • 1.2.3 Profile Page

      • 1.2.3.1 System shall provide a profile page for each registered user, showcasing their interests, past contributions to projects and papers, their contacts and their related links (example: Google Scholar).
      • 1.2.3.2 System shall retrieve information (example: citations, h-index) 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 request to join a team accepted or rejected
      • 1.2.4.3 System shall provide a notification mechanism for informing users about whether someone accepted or rejected their invitations
      • 1.2.4.4 System shall provide a notification mechanism for informing users about whether someone has commented on their profile
      • 1.2.4.5 System shall provide a notification mechanism for warning users if they perform an unauthorized activity
    • 1.2.5 Events

      • 1.2.5.1 System shall provide a page of Events for every registered user.
      • 1.2.5.2 System shall fill this page with the events related to registered user.

2. Nonfunctional Requirements

  • 2.1 Activity Streams

  • 2.2 Availability & Accessibility

    • 2.2.1 The system shall be available as a website and as an Android application.
    • 2.2.2 The website and the application shall be available in English.
    • 2.2.3 The system shall notify users in case of a failure.
    • 2.2.4 Any failure in the system shall be handled in at most half an hour.
    • 2.2.5 The system shall support Safari, Chrome and Firexfox as a browser and shall support Android 7.0 and later versions.
  • 2.3 Perfomance & Scalability

    • 2.3.1 The system shall use queuing algorithms and caching mechanism to reduce response time.
    • 2.3.2 The system shall respond to a request at most 5 seconds.
    • 2.3.3 The system shall be able to respond up to 1000 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-24 characters in total.
    • 2.4.3 The system shall store only the hashed version of passwords.
    • 2.4.4 The system shall force users to change their passwords once a year.
    • 2.4.5 The system shall deny all the access attempts to an account after three failed access attempts until user re-validates their account via a link sent in an email.
    • 2.4.6 The system shall provide a validation code for users during registration.
    • 2.4.7 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