Version 1.5
StudySpace is a web application that provides post-secondary students with access to virtual spaces that foster unique social learning environments. The purpose of this project is to promote a sense of unity and community among students by helping them meet new peers, connect, and study together.
The purpose of this document is to establish the requirements of the project from an implementation perspective. Additionally, this document lays the foundation for all group processes from start to finish by outlining the vision for the project. This document is intended to be used by developers, users, and any other individual who wants to learn the concept of this application and how its features work.
StudySpace allows users to search for and join virtual study groups. User benefits include improving academic success, making friends, and gaining a sense of community among peers. The objective of StudySpace is to help students find groups of like-minded individuals with whom they can collaborate — regardless of their physical locations. Through the use of this product, students who are enrolled in online courses do not miss out on the benefits of group work and peer discussion.
DESK | A Desk is a virtual space wherein students may collaborate. Each Desk is temporary; it only exists as long as the Desk is in use. After everyone leaves the Desk, it is removed from memory. Each Desk has an admin who can set a limit to the number of members and can add signifiers such as language, age category, and other factors. | |||||||
---|---|---|---|---|---|---|---|---|
FRIEND | Any two Users can become Friends if one sends a Friend Request and the other accepts it. When two Users are Friends, they can send private chats directly to one another. | |||||||
GROUP | A Group is a collection of two or more users who have connected through StudySpace either by Invitation or a User Match. All members of a Group automatically have access to a Chat upon joining. | |||||||
GROUP NAME | A Group Name is the name of a Group. The Group Name is set by a member of the Group. The Group Name must be unique so that other Users can easily discover the Group via Search. | |||||||
INITIAL AUDIENCE | This product is for David Brown, who is the initial User and the project client. | |||||||
INTERESTS | Interests refer to the parameters that the user has chosen and the ranking of these parameters. The choice and ranking of parameters are key to determining User Matches. Example. Alice has chosen the following parameters: Co-op, Friends, CP104, Programming and she has the following Interests: 1. Co-op 2. Friends 3. CP104 4. Programming |
|||||||
INVITATION | An Invitation is the opportunity for a User to join a Group. Any member of a Group can choose to send an Invitation to a User who isn’t already a member. | |||||||
PAGE | A Page is where Posts are viewed. Each Group can have one or more Pages. | |||||||
POST | A Post is an object which can include photos and text. Posts are created by Users for all members of a Group to see. Users can make a Post about anything they wish, including: buying/selling textbooks, asking questions, looking for advice, etc. Users can also write a Response to a Post. | |||||||
PROFILE | A Profile is a page with personal information about the user. The Profile also provides functionality such as managing group memberships and accessing chats. | |||||||
RESPONSE | A Response is a text message which is linked to a Post. | |||||||
SEARCH | Search is a function of the app where Users can search and discover Groups by Group Name or Users by Username. | |||||||
STUDYSPACE | StudySpace refers to the web application created by the Team for the Initial Audience, David Brown. | |||||||
TARGET AUDIENCE | Students are the intended users of this product. | |||||||
USER | A User is someone who uses the application, such as a Student. | |||||||
USER MATCH | Users have the option to enter their Interests, such as various preferences, courses they are enrolled in, and their study habits. Users who are both members of the same group have the possibility of getting matched. The more common Interests, the more likely they are to be matched. When a User Match occurs, the matched users show up in each other’s list of user matches, found on the page of the group they were matched in. | |||||||
USERNAME | A Username is part of a User’s account information. A Username is the name by which a User is referred to on the app. | |||||||
UPVOTE/DOWNVOTE | Users can express whether or not they like a post or agree with it by giving it an Upvote or Downvote. Upvoting is equivalent to “liking” the post, and Downvoting is the same as “disliking” the post. |
The rest of this document contains details about the overall description and specific requirements of the project. Section 2 contains information about the product perspective, product functions, user characteristics, constraints, and dependencies. Section 3 discusses external interfaces, functions, logical database requirements, and software system attributes.
StudySpace is an independent, self-contained web application. Core features are personalized profiles, groups, chats, and pages in each group. It is a web application with 2 components: user interfaces (frontend), and software interfaces (backend).
Users can create their own group with a desired set of members or a specific topic. New groups may not share a name with existing groups. Users can create posts, comment on posts, chat, log in, and send friend requests to other users.
Post-secondary students are the intended users of this product. As such, it is assumed that the user has experience using a web browser and navigating websites. It is helpful — but not necessary — for the user to have experience with common social media applications, such as Reddit, Instagram, or Twitter. This experience should aid the user in learning how certain features of StudySpace work, such as chat, due to the similarities to other social media applications.
A large number of users must be able to access the website at once. To ensure the website is reliable, smooth, and feels responsive to the user, chat logs should update within a second whenever a user sends a chat.
It is assumed that users have a functioning, web-capable computer (desktop or laptop) with a browser installed. Users are expected to have an internet connection for the entire duration of their session. StudySpace should be compatible with any desktop operating system.
The website must be quick and responsive to all screens above 320px to meet usability requirements. From the front-end perspective, content must load quickly and transitions between pages should be seamless. 95% of the transactions shall be processed in less than 1 second.
Any access to the StudySpace backend needs to be verified to ensure that only authorized administrators/moderators have access. Authorization involves entering a valid username and password to an account with administrator privileges. When an administrator or moderator logs into the system, they are granted permissions to edit, create, and delete content.
StudySpace must be accessible on any desktop device that is web-capable and has a browser. Therefore, StudySpace must be compatible with any operating system, including Windows, macOS, and Linux. The product must also be compatible with any browser, including Chrome, Firefox, Internet Explorer, Edge, and Safari.
Initial Requirements document created
Document reformatted and expanded use case definitions
Adjusted document upon SQA suggestions
Thanks to SQA by
Performed SQA on consistency with previous docs and grammar checks
Removed mention of tutors as this will no longer be a part of the software
Added Interests definition and changed any previous mentioning of “user preferences” to “Interests”
Updated section 3.2 to match the Design document
Added Upvote/Downvote definition to be consistent with other documents
Updated Section 2.1.1 User Interfaces to match the Design document
Updated Section 2.3 Use Case Diagram based on David Brown’s suggestion to separate Create Moderator and Delete Moderator cases
Updated Section 3.1 to clarify password requirements
Reformatted and converted to HTML