01. Software Requirements - OrkanMetin/SWE-573 GitHub Wiki

Functional Requirements

Glossery:

System: The Purposeful Community Platform that is developed in the project.

User: The people who uses the web application of the platform.

Unregistered User: A person who enters the system with limited access.

Registered User: A person who has rights to make operations in the communities.

Community: A user group in the system that users are able to become members by joining according to their interest.

Post Type: A customized post group that a community owner is able to create by providing a title, a description and new fields according to his/her will.

Post: A content that contains a title, a body, semantic tag as default fields. It also contains the customized fields added by the community owner.

Semantic: Semantics is the study of the meanings of words and phrases in a language.

Searching

  1. User shall be able to search for communities by specific keywords.

    1.1. User shall enter keywords,

    1.2. When the user enters keyword, the search result shall be shown by the system,

    1.3. User shall view the search result,

    1.4. User shall view summary information for each community listed in the search result,

    1.5. User shall view the content of the community.

Communities and Posts:

  1. User shall be able to view the post with the community they visit.

    2.1. User shall be able to view the description of the community,

    2.2. User shall join the community,

    2.3. User shall un-join the community,

    2.4. User shall be able to view the posts in the community by joining the community.

    2.5. Signed in user shall be able to read the content of the posts.

  2. User shall create his/her own community,

    3.1. User shall give a name to the his/her community,

    3.2. User shall write a description to his/her community,

    3.3. User shall create a post type and add new fields which he / she wants them to be used in the posts of the community,

    3.4. User shall enter a tag in the post type, list and choose the related tag coming from WikiData,

  3. User shall join a community,

  4. User shall share a post in the community site, if he/she joins,

    5.1. User chooses the post type if there are more than one defined post type for the community,

    5.2. User shall fill the template form to share the post,

    5.3. User shall save the post in order to share it in the future,

    5.4. User shall edit the post previously published,

    5.5. User shall delete the post previously published,

  5. User shall read the posts which are posted in the related community.

  6. User shall delete his/her posts in the community.

  7. User shall edit his/her posts in the community, for only the fields the post allows to use.

  8. User shall edit the post type previously defined. The recent post shall be kept with their previous post type definition. New Posts shall be created according to the most recent post type that is defined by the community owner.