er - luizhqueiroz/LBAW-NewsHub GitHub Wiki

ER: Requirements Specification Component

To transform how movie and TV enthusiasts discover information, share news, and connect with one another, aiming to become the largest collaborative platform for entertainment lovers to engage and stay updated with the latest entertainment news.

A1: NewsHub

The NewsHub system is being developed by software engineers as a product designed for movie and TV series enthusiasts who want to participate in a collaborative platform.

In a world where information is spread across various platforms, how users search for and interact with that information can make a huge difference. NewsHub addresses this by becoming a web-based information system where users can share and read news about movies and TV series, centralizing information and allowing for better interaction between users and the content.

This system is particularly relevant given the growing popularity of user-driven platforms. There is a need for a focused space where entertainment lovers can engage with reliable, user-generated news in one place, which motivates the creation of NewsHub.

The main goal of this project is to create a collaborative platform that becomes the central hub for movie and TV series news. It allows users to share their own news, read contributions from other users, engage by voting and commenting on content, and build connections with like-minded individuals through interactions on the platform.

In terms of user profiles, NewsHub has three main groups of users guests, authenticated users, and administrators. Guests, who are non-authenticated users, can browse the news feed, view individual news and their comments, sign up, sign in, and search for specific content in various ways such as exact match, full-text, across multiple attributes, and using filters. Authenticated users, who are registered and logged in, in addition to the guests' privileges, can create and comment on news, vote on content, view other users’ profiles, and follow other users and tags. Administrators are responsible for managing the platform, overseeing content, and handling the users, to ensure a smooth and reliable system operation. Administrators have the ability to search, view, edit, create, block, unblock, and delete user accounts, as well as manage platform content.

The platform will feature an adaptive design, providing users with a seamless browsing experience across different devices. With a focus on intuitive navigation, the system will deliver a user-friendly interface that allows entertainment lovers to easily discover and engage with content, creating a more enjoyable overall experience.


A2: Actors and User stories

This artifact outlines the specifications for the actors and user stories, providing a straightforward and quick reference to the project's requirements.

1. Actors

actors drawio Figure 1: NewsHub Actors

Identifier Description
User A generic user with access to public information, including the news feed, news items, and comments, who can also perform searches for this content
Visitor Unauthenticated user that can register itself (sign-up) or sign-in in the system
Collaborator An authenticated user who can create and comment on news, view the users’ news feed and profile, view news and comment details, vote on news and comments, check the reputation of other users, view news tags, and follow other users and tags
News Author An authenticated user who can edit and delete their own news
Comment Author An authenticated user that can edit and delete their own comments
Administrator An authenticated user responsible for managing users and content

Table 1: NewsHub Actors Description

2. User Stories

For the NewsHub system, consider the user stories presented in the following sections.

2.1. User

Identifier Name Priority Responsible Description
US01 Top News Feed High Raphael Moragas As a User, I want to access the top news feed, so that I can stay informed about the most important news.
US02 See News Item High Raphael Moragas As a User, I want to see a news item, so that I can focus on one specific news that captures my attention.
US03 Search Medium Raphael Moragas As a User, I want to search for content, so that I can easily find what I am looking for.
US04 Product Information Medium Raphael Moragas As a User, I want to navigate to About, Contact Us and FAQ, so that I can see a complete description of the website and its creators in About page, come in touch with the platform creators in Contact Us page and get quick answers about the website services in FAQ page.
US05 Recent News Feed Medium Raphael Moragas As a User, I want to access the recent news feed, so that I can stay updated on the latest news.
US06 News Item Comments Medium Raphael Moragas As a User, I want to check the comments on a news item, so that I can understand people's opinions.
US07 Ordering Search Low Raphael Moragas As a User, I want to be able to order search results, so that I can refine my search.

Table 2: User User Stories

2.2. Visitor

Identifier Name Priority Responsible Description
US08 Login High João Victor As a Visitor, I want to authenticate into the system, so that I can access privileged information and features.
US09 Sign-up High João Victor As a Visitor, I want to register in the system, so that I can create my own account and be able to authenticate myself.

Table 3: Visitor User Stories

2.3. Collaborator

Identifier Name Priority Responsible Description
US10 Profile High Luiz Henrique As a Collaborator, I want to view and edit my profile, so that I can manage my personal information.
US11 User News Feed High Luiz Henrique As a Collaborator, I want to view user news feeds, so that I can know other users better and engage with their interests and contributions.
US12 Create News Item High Luiz Henrique As a Collaborator, I want to create a news item, so that I can share valuable information with others in the community.
US13 News Item Details High Luiz Henrique As a Collaborator, I want to view the news item details, so that I can gain a comprehensive understanding of the news.
US14 Other Users' Profiles High Luiz Henrique As a Collaborator, I want to view other users' profiles, so that I can gather information about who I am connecting with.
US15 Logout High Luiz Henrique As a Collaborator, I want to logout from my account, so that I can ensure my account is secure and prevent unauthorized access.
US16 Comment Details Medium Luiz Henrique As a Collaborator, I want to view the comment details, so that I can gain a comprehensive understanding of the comment.
US17 Vote Medium Luiz Henrique As a Collaborator, I want to vote on news and comment, so that I can express which contents I find most valuable or agreeable.
US18 Create Comment Medium Luiz Henrique As a Collaborator, I want to comment on news, so that I can express my opinion and engage in discussions about the news.
US19 Reputation Medium Luiz Henrique As a Collaborator, I want to check the reputation of other users, so that I can identify who is reliable and trustworthy.
US20 Tags Medium Luiz Henrique As a Collaborator, I want to view the news tags, so that I can understand which category or topic the news is related to.
US21 Follows Medium Luiz Henrique As a Collaborator, I want to follow users and tags, so that I can keep track of my favorite contributors and topics.
US22 Notifications Medium Luiz Henrique As a Collaborator, I want to receive notifications for likes or comments on my own content, so that I can understand how relevant or engaging my content is to other users.
US23 Recover Password Medium Luiz Henrique As a Collaborator, I want to be able to recover my password, so that I do not lose access to the platform.
US24 Delete Account Medium Luiz Henrique As a Collaborator, I want to be able to delete my account, so that I can have the freedom to choose whether to remain on the platform or not.
US25 Profile Picture Medium Luiz Henrique As a Collaborator, I want to be able to use a profile picture, so that I can identify myself to other users and recognize them as well.
US26 Influencer Medium Luiz Henrique As a collaborator, I want to have a distinct identification in my profile and content, so that I can be recognized by other users for my higher reputation.
US27 Favorites Low Luiz Henrique As a Collaborator, I want to add or remove news items from my favorites, so that I can easily access and manage the news I find most interesting.
US28 Report Low Luiz Henrique As a Collaborator, I want to report users or content, so that I can help maintain the community standards and flag inappropriate behavior or content.
US29 Appeal for Unblock Low Luiz Henrique As a collaborator, I want to appeal for the unblocking of my account, so that I can defend myself and continue participating in the platform.

Table 4: Collaborator User Stories

2.4. News Author

Identifier Name Priority Responsible Description
US30 Manage News Item High João Victor As a News Author, I want to manage my news items by editing or deleting them, so that I can ensure my news is accurate and relevant.

Table 5: News Author User Stories

2.5. Comment Author

Identifier Name Priority Responsible Description
US31 Manage Comments Medium João Victor As a Comment Author, I want to manage my comments by editing or deleting them, so that I can ensure my comment is accurate and relevant.

Table 6: Comment Author User Stories

2.6. Administrator

Identifier Name Priority Responsible Description
US32 Administer User Account High Victor Duarte As an Administrator, I want to search for, view, edit, or create accounts, so that I can administrate users account as needed to maintain a well-functioning system.
US33 Block Unblock Account Medium Victor Duarte As an Administrator, I want to be able to block or unblock the user accounts, so that I can manage user access and maintain a safe and respectful community.
US34 Delete User Account Medium Victor Duarte As an Administrator, I want to delete a user account, so that I can remove users who violate community guidelines or no longer require access to the system.
US35 Influencer and Tags Medium Victor Duarte As an administrator, I want to choose whether an influencer can create tags, so that I can grant influencers additional abilities on the platform.
US36 Content and User Reports Low Victor Duarte As an Administrator, I want to manage content and user reports, so that I can ensure compliance with community standards and maintain a safe and respectful environment.

Table 7: Administrator User Stories

3. Supplementary Requirements

This section contains business rules, technical requirements, and restrictions.

3.1. Business rules

Identifier Name Description
BR01 User Comment An authenticated user can comment on their own news
BR02 User Vote An authenticated user can vote on their own news or comment
BR03 Deleted User Shared user data, such as news, comments, and votes, must be kept but made anonymous when the user account is deleted
BR04 Follows A user can not follow itself
BR05 Deleted Content A news or comment can not be deleted by its author if it has votes or comments
BR06 Reputation User reputation is dependent on the likes received on their news or comments
BR07 Publication Date The publication date of the comment must be later than the publication date of the news it refers to

Table 8: NewsHub Business Rules

3.2. Technical requirements

Identifier

Name

Description

TR01 Performance The system should have response times shorter than 2s to ensure the user's attention

TR02

Robustness

The system must be prepared to handle and continue operating when runtime errors occur

This capability is essential for maintaining user trust and ensuring a seamless user experience on NewsHub. Runtime errors can occur due to various factors, including unexpected user inputs, system overloads, or software bugs. If the system cannot effectively manage these errors, it may lead to crashes, data loss, or significant disruptions in service. Therefore, robustness is particularly important in a collaborative environment where real-time engagement and timely information sharing are critical

TR03

Scalability

The system must be prepared to deal with the growth in the number of users and their actions

The system must be prepared to accommodate an increasing number of users and their actions, as this growth is fundamental to the success of a collaborative news platform like NewsHub. As the platform attracts more users, it is essential to ensure that the infrastructure can handle the resulting increase in traffic, data, and interactions without compromising performance or user experience

TR04 Accessibility The system must ensure that everyone can access the pages, regardless of whether they have any handicap or not, or the Web browser they use

TR05

Usability

The system should be simple and easy to use

It directly impacts user engagement and participation. A simple and easy-to-use system encourages users of all experience levels (aligned with NewsHub's interests) to contribute their insights, share news, and interact with others, promoting community collaboration

TR06 Web application The system should be implemented using HTML5, CSS3, JavaScript, and PHP
TR07 Database The system must use PostgreSQL database, with a version 11 or higher
TR08 Security The system must protect personal information from unauthorized access through authentication
TR09 Ethics The system must comply with the laws of the regions where it operates and adhere to ethical principles in software development
TR10 Availability The system must be available 99 percent of the time in each 24-hour period

Table 9: NewsHub Technical Requirements

3.3. Restrictions

Identifier Name Description
R01 Deadline The system should be ready to be used by the end of the semester
R02 Developers The system should be developed by up to 4 developers

Table 10: NewsHub Restrictions


A3: Information Architecture

This artifact includes a sitemap to demonstrate how information is organized across pages and wireframes to illustrate the content and functionality of the pages. Together, they help preview and test the system's user interface, identifying and describing user requirements.

1. Sitemap

The image below represents the NewsHub sitemap, identifying the pages and how to access them. The sitemap is organized into four main areas: static pages, which provide general information about the system; admin pages, which contain administrative features; user pages, which are related to individual users; and news pages, which focus on news items and their comments.

sitemap drawio Figure 2: NewsHub Sitemap

2. Wireframes

For the NewsHub system, the wireframes for the homepage (UI01), which features the news feed, and the news item page (UI12) are presented in Figures 3 and 4, respectively.

UI01: HomePage (News Feed)

wireframe1 drawio Figure 3: Authenticated User Feed Page (UI01) Wireframe

  1. Direct access to search feature
  2. Button to filter the search
  3. Side-menu to help the user to navigate
  4. Logout button and identification of the account
  5. Zone for navigating to product information pages
  6. Switch the feed type
  7. Create a news
  8. A clickable news item that redirects to the news item page

UI12: News Item

wireframe2 drawio Figure 4: News Item Page (UI12) Wireframe

  1. Back to homepage
  2. Create a comment
  3. Side-menu to help the user to navigate
  4. Logout button and identification of the account
  5. Zone for navigating to product information pages

Revision history

No changes have been made.


GROUP24142, 10/10/2024

⚠️ **GitHub.com Fallback** ⚠️