Skip to content

Requirements_Page

Bugra Dursun edited this page May 13, 2025 · 6 revisions

Purpose

The purpose of this document is to provide a comprehensive description of [Your Project Name]. It outlines the system's purpose, scope, features, and constraints while addressing key functional and non-functional requirements. This document serves as a reference for both stakeholders and developers, ensuring a clear understanding of the system's objectives and expected behavior.

Scope

The project aims to create a collaborative platform where users can engage in research, discussions, and knowledge sharing. Users will be able to create and contribute to discussion spaces, interact with others, and visualize related topics through an intuitive graphical representation. The platform will facilitate seamless collaboration and knowledge discovery through structured discussions and data visualization.

Glossary

  • Regular User - A standard user who can create and participate in collaboration spaces.
  • Board- A collaborative environment where users can add nodes, create discussions, and interact.
  • Graph Visualization - A visual representation of nodes and edges showing relationships within a space.
  • Contribution - A graphical element representing a concept, idea, or piece of information.
  • Edge - A connection between two nodes, indicating relationships in the visualization.
  • Search - A functionality allowing users to find spaces and other users based on various criteria.
  • Wikidata - An external structured knowledge base integrated as a data source.

Functional Requirements

Authorization

  • Users shall be able to register with a unique email, username, password, age, and profession.
  • Users must be at least 18 years old to register.
  • Users shall be able to log in using their registered email and password.
  • There shall be two user roles: admins and regular users.
  • Admins shall have all the privileges of regular users, plus the ability to manage and moderate content.
  • Admins shall be able to remove any irrelevant, inappropriate, or incorrect content.

Collobration Spaces

  • Users shall be able to create spaces by providing a title, description, and tags.
  • Users shall be able to join spaces as collaborators.
  • Users shall be able to participate in discussions within a joined space.
  • Users shall be able to upvote or downvote discussions.
  • Users shall be able to reply to discussions.
  • Spaces shall have titles, graphical visualizations, and discussions.
  • Spaces should have tags for better categorization and searchability.
  • Discussions shall be stored with version history.
  • Users shall be able to view recent activities within a space, such as new discussions and members.

Graph Presentation

  • The system shall visualize spaces as graphs, showing relationships between nodes.
  • Users shall be able to add new nodes connected to existing ones.
  • The system shall depict bidirectional connections as edges.
  • The system shall display relationship properties on edges.
  • Users shall be able to add, delete, or modify nodes.
  • Users shall be able to manage connections between nodes.

Search

  • Users shall be able to search for spaces by title and tags.
  • Users shall be able to search for other users by username.
  • Users shall be able to navigate to user profiles from search results.
  • Users shall be able to navigate to spaces from search results.

Browsing

  • Users shall be able to browse newly created spaces.
  • Users shall be able to browse trending spaces.

User Profile

  • The system shall protect users' real names and sensitive information.
  • User profiles shall display relevant details such as username, age, and profession.
  • The system shall list a user’s created and joined spaces.
  • Users shall be able to view other users’ profiles.
  • Users shall be able to edit their profile information.

Non-Functional Requirements

Performance

  • The system shall have a responseive UI.
  • The system shall ensure a smooth and user-friendly interface

Reliability

  • The system shall maintain a 99.9% uptime.

Security

  • All sensitive user data shall be encrypted before storage.
  • The system shall use HTTPS for secure communication.

Accessibility

  • The default language of the system shall be English.
  • The system should support multiple languages for localization.

Architecture

  • The system shall integrate with Wikidata as an external data source.
  • The backend shall be implemented using Django or Spring Boot
  • The system shall utilize a relational database to store user data, spaces and discussion

Integration

  • The system shall integrate with Wikidata as an external data source.

Clone this wiki locally