er - luizhqueiroz/LBAW-NewsHub GitHub Wiki
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.
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.
This artifact outlines the specifications for the actors and user stories, providing a straightforward and quick reference to the project's requirements.
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
For the NewsHub system, consider the user stories presented in the following sections.
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
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
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
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
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
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
This section contains business rules, technical requirements, and restrictions.
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
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
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
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.
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.
Figure 2: NewsHub Sitemap
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.
Figure 3: Authenticated User Feed Page (UI01) Wireframe
- Direct access to search feature
- Button to filter the search
- Side-menu to help the user to navigate
- Logout button and identification of the account
- Zone for navigating to product information pages
- Switch the feed type
- Create a news
- A clickable news item that redirects to the news item page
Figure 4: News Item Page (UI12) Wireframe
- Back to homepage
- Create a comment
- Side-menu to help the user to navigate
- Logout button and identification of the account
- Zone for navigating to product information pages
No changes have been made.
GROUP24142, 10/10/2024
- Raphael Moragas Dias Taveira Gonçalves, [email protected]
- João Victor Botelho Duarte, [email protected]
- Luiz Henrique Mamede Queiroz, [email protected] (Editor)
- Victor Duarte Frauzino Lima de Matos, [email protected]