-
Notifications
You must be signed in to change notification settings - Fork 0
In today's dynamic social media landscape, there's a growing need for a user-friendly platform, especially among students and academics seeking reliable information and effective communication tools. With this goal in mind, our network aims to redefine the social networking experience.
Gamma is an academic-focused social network that is being developed by a startup team that pretends to distemper the way we use social media.
Our primary objective is to engage students within a vibrant academic community, enabling them to actively search for information and interact seamlessly with their peers.
Our social network allows authenticated users to create posts, which can be either private or public. These posts can include text messages, web links, and media files. Users can also engage with these posts by liking them and leaving comments. We will also have a place where users can see the main features of our product, as well as a contact form and some information about who we are.
Additionally, users have the option to set their profiles to private, which automatically sets all their posts to be visible only to approved friends. Any authenticated user can send a friend request to other authenticated users. The non authenticated users can navigate through the website and see public posts/groups before creating an account. In order to be able to post, comment or like an item in our social network, the non authenticated user will have to authenticate themselves or create a new account if they don’t already have one.
The authentication method allows users to log in into the social network with their email address and a password chosen by them.
Users are also able to create private or public groups, where the users can see and post more focused content. All groups will have a group owner, which is responsible for the management of the group, so they can delete posts from other users as well remove them from the group
To ease the social network’s management, there will be admin accounts, who will have a specialized page to perform their duties. Admins are important so that we can ease the process of enforcing a decent usage of our website. In addition, they will be able to manage everything from the website, including blocking and deleting normal users.
We want to provide the best user experience possible, so, due to the fact that there is the possibility of our network having a fairly high number of users and posts, all users should have the ability to filter the content they are shown on the homepage as well as searching for other users so they can better build an extremely fulfilling network and experience without having to work much so they can see and interact with whoever and whatever they like. Users will be able to apply filters and search for full or partial text.
This artifact aims to provide documentation outlining the essential prerequisites required for our social media platform. These requirements are categorized into actors, user stories, business rules, technical specifications, and limitations.
Identifier | Description |
---|---|
User | Generic user that has access to public information, such as public posts and public profiles. |
Guest | A guest is someone who is not authenticated and can sign in or sign up. |
Authenticated User | An authenticated user is a user that has an account and can post, comment and react to other posts, public or private. This user can also join/leave groups and befriend other users. |
Group Owner | A group owner can manage the group they own, manage group members and group posts. |
Post Author | A post author can edit or remove the post. They can also set to visibility of the post to public or private. |
Comment Author | A comment author can edit or remove their comment. |
Reaction Author | A reaction author can remove their reaction. |
Administrator | An administrator can delete, block and unblock users as well as deleting posts and comments. They have the responsibility of managing the website and enforcing the rules. |
Identifier | Name | Priority | Description |
---|---|---|---|
US01 | View Public Timeline | High | As an User, I want to be able to view the public posts of all users so that I don't need to register/login. |
US02 | View Public Profiles | High | As an User, I want to be able to view the profile of all public users so that I don't need to register/login. |
US03 | Search for Public Users | High | As an User, I want to be able to search for public users so that I don't need to register/login. |
US04 | Exact Match Search | High | As a User I want be able to specify to the search engine that I want to see only results with specific words that I can specify during the search so that the search becomes more efficient. |
US05 | Full Text Search | High | As a User I want be able to specify to the search engine certain text terms and I want to find the result that contain pieces of those texts so that the search becomes more efficient. |
US06 | Search Over Multiple Attributes | Medium | As an User I want be able to search information by the attributes of the entities of the website such as profile's username or role, as well as attributes such as descriptions of posts so that the search becomes more efficient. |
US07 | Search Filter | Medium | As a User, I want to use search filters to search only profiles, groups or posts so that the search becomes more efficient. |
US08 | Contextual Error Messages | Medium | As a User, I want to have contextual error messages, so that I can fix what I made wrong. |
US09 | Contextual Help | Medium | As a User, I want to have contextual help every time I need, so that I can easily be more informed. |
US10 | About US | Medium | As a User, I want to have an About Us page so that I can check the company's reputation. |
US11 | Contacts | Low | As a User, I want to have a Contacts page so that I can contact the responsible team and solve all my problems. |
US12 | Main Features | Low | As a User, I want to have a Main Features page so that I can check what are the main features of the system. |
US13 | Placeholders in Form Inputs | Low | As a User, I want to have placeholders in form input so that I can remember what it is supposed to write. |
Identifier | Name | Priority | Description |
---|---|---|---|
US14 | Login | High | As a Guest, I want to be able to login to my account so that I can post. |
US15 | Register | High | As a Guest, I want to be able to register a new account so that I can empower myself to have the capabilities of an authenticated user. |
Identifier | Name | Priority | Description |
---|---|---|---|
US16 | Logout | High | As an Authenticated User, I want to be able to logout from my account so that I can delete my session. |
US17 | Search | High | As an Authenticated User, I want to be able to search for users, posts and groups, private or public so that I can enter in the respective pages. |
US18 | View Profile | High | As an Authenticated User, I want to be able to view my profile as well as other users' public profiles so that I can send friendship invites. |
US19 | Send Friend Request | High | As an Authenticated User, I want to be able to send friend requests to other users so that my network can grow. |
US20 | Manage Received Friend Requests | High | As an Authenticated User, I want to be able to accept friend requests from other users so that my network can grow. |
US21 | Manage Friends | High | As an Authenticated User, I want to be able to remove friends from my friends list si that I can filter my network. |
US22 | Create Post | High | As an Authenticated User I want to be able to create a post with a text and other relevant attachments so that I can express myself better. |
US23 | View Personalized Timeline | High | As an Authenticated User, I want to be able to view the posts of the users I'm friends with and of the groups I belong. |
US24 | Support Profile Picture | Medium | As an Authenticated User I want be able to upload a profile picture as well as editing it so that people can identify me. |
US25 | Recover Password | Medium | As an Authenticated User, I want to be able to recover my password so that I can log in again. |
US26 | Delete Account | Medium | As an Authenticated User, I want to be able to delete my account so that I can change my mind about the website. |
US27 | Edit Profile | Medium | As an Authenticated User, I want to be able to edit my profile so that I can edit it. |
US28 | View Personal Notifications | Medium | As an Authenticated User I want to be able to receive notifications that I subscribed such as a friend posting or interactions with my profile, posts and comments so that I can answer the fastest way possible. |
US29 | Appeal for Unblock | Medium | As an Authenticated User I want to be able to appeal for a unban given to me either in a group or in the website itself so that I can be back on the group. |
US30 | Comment on Posts | Medium | As an Authenticated User I want to be write comments on posts I like and want to interact with so that I can grow my network. |
US31 | React to Post | Medium | As an Authenticated User I want to be able add a reaction to a post so that people can see my reaction to the post. |
US32 | React to Comment | Medium | As an Authenticated User I want to be able add a reaction to a comment so that people can see my reaction to the comment. |
US33 | Create Group | Medium | As an Authenticated User I want to be able to create a group either public or private so that the posts can be more organised. |
US34 | Manage Group Invitations | Medium | As an Authenticated User I want to be able to manage the invitations I receive from groups as well as to impose limits as to whether or not I want to receive invitations so that I can answer to them faster. |
US35 | View Friends' Feed | Medium | As an Authenticated User I want to be able to see my friends profiles and what they are doing in the website so that I can check my network. |
US36 | Tag Friends in Post | Medium | As an Authenticated User I want to be able to tag a friend so that he can be notified. |
US37 | Friend Requests | Medium | As an Authenticated User, I want to receive a notification every time I receive a Friends request, so that I can be up-to-date with my account. |
US38 | Upload CV | Low | As an Authenticated User, I want to be able to upload my CV so that recruiters can see it. |
US39 | Copy post link | Low | As an Authenticated User, I want to be able to copy the post link so that I can share it. |
Identifier | Name | Priority | Description |
---|---|---|---|
US40 | View Group's Members | Medium | As a Group Member, I want to see the members of a group. |
US41 | Post on Group | Medium | As a Group Member, I want to post on a group, so that I can add content to the group feed. |
US42 | Leave Group | Medium | As a Group Member, I want to leave a group, so that I am no longer in the group and don't see the group posts in my feed. |
Identifier | Name | Priority | Description |
---|---|---|---|
US43 | Add to Group | High | As a Group Owner, I want to be able to add a member to the group so that the group can grow and influence more people. |
US44 | Manage Join Requests | High | As a Group Owner, I want to be able to manage the join requests that are being made so that I can check the person's motivation. |
US45 | Edit Group Info | Medium | As a Group Owner, I want to edit the group information, so that I can keep it up-to-date. |
US46 | Remove Member | Medium | As a Group Owner, I want to be able to remove a member from the group so that I can avoid topics that are out of scope. |
US47 | Remove Post From Group | Medium | As a Group Owner, I want to be able to remove a post from the group so that I can avoid having content that is out of scope. |
US48 | Change Group Visibility | Medium | As a Group Owner, I want to be able to change the visibility of the group so that if I change my mind, I can go back and change the specifications. |
Identifier | Name | Priority | Description |
---|---|---|---|
US49 | Edit Post | High | As a Post Author, I want to edit my post, so that I can ensure the correctness of the post. |
US50 | Delete Post | High | As a Post Author, I want to delete my post, so that I can remove my content from the website. |
US51 | Likes on Own Post | Medium | As an Post Author, I want to receive a notification every time somene likes one of my posts, so that I can be up-to-date with my account. |
US52 | Comments on Own Posts | Medium | As an Post Author, I want to receive a notification every time someone comments one of my posts, so that I can be up-to-date with my account. |
US53 | Manage Post Visibility | Low | As a Post Author, I want to change change the visibility of my post to private or public, so that I can control who sees my post. |
Identifier | Name | Priority | Description |
---|---|---|---|
US54 | Edit Comment | Medium | As a Comment Author, I want to edit my comment, so that I can ensure the correctness of the post. |
US55 | Delete Comment | Medium | As a Comment Author, I want to delete my comment, so that I can remove my content from the website. |
Identifier | Name | Priority | Description |
---|---|---|---|
US56 | Delete Reaction | Medium | As a Reaction Author, I want to delete my reaction, so that I can remove content from the website. |
Identifier | Name | Priority | Description |
---|---|---|---|
US57 | Administer Account | High | As a Admin, I want an account with higher privileges, so that i can manage the website. |
US58 | Manage User Accounts | High | As a Admin, I want to search user accounts, so i can easily manage the accounts in the website. |
US59 | Delete Users Accounts | High | As a Admin, I want to be able to delete users accounts, to manage the website. |
US60 | Create Users Accounts | High | As a Admin, I want to be able to create users accounts, to manage the website. |
US61 | Edit Users Accounts | High | As a Admin, I want to be able to edit users accounts, that is, to delete their posts, comments or reactions, to manage the website. |
US62 | Block User | Medium | As a Admin, I want to block users, preventing them from creating posts, comments, reactions and groups, so that I can mantain a good environment. |
US63 | Unblock User | Medium | As a Admin, I want to unblock blocked users, to restore their ability to create posts, comments, reactions and groups. |
Identifier | Name | Description |
---|---|---|
BR01 | User's Own Post | A user can vote/comment/review its own stories/answers. |
BR02 | Deleted user's content | When user is deleted, his posts/comments becomes anonymous and his personal data is deleted. |
BR03 | Date's coherency | Exit date >= entry date. |
Identifier | Name | Description |
---|---|---|
TR01 | Performance | The system should have response times shorter than 2s to ensure the user's attention. |
TR02 | Robustness | The system should be sufficiently robust in order to keep working even on the event of a failure during runtime. |
TR03 | Usability | The system must not be organized in such a way that a smooth and eased user experience will be impaired and the users must not be required to have any sort of technical requirements. |
TR04 | Ethics | The system must not be used as a mean to steal and sell user information to third parties, being the only goal of the system to provide people with a way to privately communicate with each other. |
TR05 | Security | The system must implement security best practices in order to protect user's data at all costs as well as protecting the availability of the system. |
TR06 | Scalability | The system should be able to handle an increase in the user base and their activities. |
TR07 | Accessibility | The system must guarantee universal accessibility to its web pages, accommodating individuals with disabilities and users of any web browser. |
TR08 | Database | We require the utilization of the PostgreSQL database management system, specifically at version 11 or a more recent iteration. |
TR09 | Web Application | The web application should be built using HTML5, JavaScript, CSS3, and PHP. This will ensure that the system is easily accessible from anywhere without the need to install specific applications or software, adopting standard web technologies. |
TR10 | Portability | The server-side system should be designed to work across multiple platforms, including Linux, Mac OS, and others. |
TR11 | Ethics | The system should adhere to ethical principles in software development, exemplified by refraining from collecting or sharing personal user details or usage data without obtaining explicit acknowledgement and authorization from the data owner. |
Identifier | Name | Description |
---|---|---|
R01 | Deadline | This project must have a stable release at the end of the semester. |
This artifact comprises a detailed report featuring the sitemap, information architecture, and wireframes for our upcoming social networking website. It serves as a critical reference document, outlining the structural and design elements of our digital platform.
Changes made to the first submission:
- Item 1
- ...
GROUP2391, 19/09/2023
- Davide Teixeira, up202109860@up.pt
- João Fernandes, up202108867@up.pt
- Pedro Oliveira, up202108669@up.pt
- Tomás Palma, up202108880@up.pt