276-study-friends
Abstract
StudyBuddy SFU is an online organizational tool for students to find and set up study sessions with other students. The application will allow users to search for other students with whom to study based on their created profiles, courses currently being taken, etc. Users will also be able to post requests for study partners, be it for a certain subject or at a certain time and location, that can be seen by everyone. Students can, then, direct message each other to arrange a study time and location. Additionally, there will be a peer review system to help students find the ideal study partner.
Customer
Our target audience is all current SFU undergrad students. Particularly those who are looking to meet other SFU students, and/or study with other people would want to use this application
Competitive Analysis
Some of the competitors in this market are websites with similar concepts, such as MoocLab and StudyPals, and social media platforms, such as Facebook and Reddit. Here is a table to show the main differences between competitors and our program.
StudyPlas
Overview: Helps you to find study pals for specific tests, such as TOEFL and EPPP.
Target: Anyone studying for these tests.
Structure: Organized by profiles. Search profiles by area and type of test.
MoocoLab
Overview: Helps you find study buddies for university-level education.
Target: Students from all over the world.
Structure: Organized by profiles. Search profiles by area, language, major.
Social Media
Overview: Occasionally students create pages to find study buddies.
Target: Not specified
Structure: No clear structure to find study buddies.
StudyBuddy SFU
Overview: Helps you find a study buddy for a specific course at SFU.
Target: SFU undergraduates.
Structure: Organized by profiles. Search profiles by Specific courses and area.
In addition to what’s listed above, our program will offer some functionalities that our competitors don’t. We will keep track of study histories (previous study time/buddies) so that it is easier to contact buddies from the past. We will also keep track of the appointments you make with your buddies. We will also implement a rating system to keep track of behaviors of the buddies (if they are do not show up, distracting, etc.).
User Stories
Actors:
- Regular user: Create and search profiles and posts. Message other users, create appointments and confirm them.
- Admin users: Handle inappropriate posts and behaviours. Able to delete posts and suspend regular users.
Name: Create New Account
Iteration 1
Actors Regular user
Triggers/Preconditions: New user wants to use StudyBuddy SFU
Actions/Postconditions:
- User selects “Login with Facebook”, or “Create a New Account”
- If user selects “Login with Facebook”, a new account is created based on email, and Facebook authentication
- If user selects “Create a New Account”, the following information is requested:
a. Name
b. Email
c. Password & Password Confirmation
- User clicks “Confirm”
- Email is sent to user to verify email address
- User selects link in email to verify email address
Acceptance Tests:
- A new account is created, with the correct name, email, and password
- User is able to login with email and password
- Identical emails are not accepted by the application
Name: Login to application
Iteration 1
Actors: Regular user
Triggers/Preconditions: Existing user wishes to use [application name]
Actions/Postconditions:
- User enters email and password
- System verifies information
- If email and password does not match, the user is prompted to enter information again
- If email and password matches, user will enter their homepage
Acceptance Tests:
- Matching password and emails are accepted
- Non-matching passwords and emails are not accepted
Name: Study Post Creation
Iteration 1
Actors: Regular users
Triggers/Preconditions: User wants to create a meeting to study with someone.
Actions/Postconditions:
- User clicks on “create study post” button
- User picks a location to meet with other users
- User picks a date on which the user would like to study.
- User picks a time when the user would like to study
- User picks a course which the user would like to study for from a drop list of the courses they are taking
Acceptance Tests:
- User is able to click “Create study post”
- User is able see spaces for four categories
- User is able to provide the details
- User is able to click “Confirm”
- User is able to see the post created
Name: Study Post Search
Iteration 1
Actors: Regular users
Triggers/Preconditions: User wants to find a buddy to study with.
Actions/Postconditions:
- User clicks on “search study posts” button
- User can pick a location where they would like to meet to study
- User picks a date on which the user would like to study
- User picks a time when the user would like to study
- User picks a course which the user would like to study for from a drop list of the courses they are taking
- User scrolls through all study posts and clicks on any they are interested in
- User clicks on “request meeting” button when they find a suitable post
Acceptance Tests:
- Information of other study posts are accurately displayed
- User can input filters (date, time, course, location)
- Filters accurately select the posts that the user wants
- “Request Meeting” button sends notification to other user
Name: Direct Messaging
Iteration 1
Actors: Regular users
Triggers/Preconditions: User wants to privately message another user.
Actions/Postconditions:
- User clicks on other user’s profile link
- User clicks “message” button
- User sends message
Acceptance Tests:
- Messaging sends intended message
Name: Update user profile
Iteration 2
Actors: Regular user
Triggers/Preconditions: User wants to change information on profile
Actions/Postconditions:
- User selects “Profile”. Their profile is displayed
- User selects “Edit Profile”
- User may edit the following fields:
a. Profile Picture (Attach image file)
b. Current courses
c. Biography
d. Availability
e. Location
- User selects “Save”
Acceptance Tests:
- User is able to modify fields
- Modified information is saved
- All fields are optional and can be left blank
Name: View Study History
Iteration 2
Actors: Regular User
Triggers/Preconditions: User wants to view study history
Actions/Postconditions
- User selects “Study History”
- A list of all previous appointments is displayed with the following information:
a. Date
b. Study members’ name(s)
c. Course/Topic
- User may select other user’s names to view their profile
Acceptance Tests
- User is able to see their own study history
- Study history is accurate
- Other user’s names are selectable and direct user to the select user’s profile
Name: View list of current appointments
Iteration 2
Actors: Regular users
Triggers/Preconditions: User wants to see list of current appointments
Actions/Postconditions:
- User selects “Current Appointments”
- A list of upcoming appointments is displayed in a list with the following information:
a. Date
b. Study Members’ Name(s) and if they have confirmed
c. Location
d. Course/Topic
Acceptance Tests
- User is able to see current appointments
- Appointments listing is accurate
- Users can only view their own upcoming appointments
Name: View another user’s profile
Iteration 2
Actors: Regular users
Triggers/Preconditions: User wants to find out what the availability of other users is.
Actions/Postconditions:
- User clicks on other user’s profile link
- Selected user’s profile is displayed with the following information, if filled in:
a. Name
b. Profile picture
c. Biography
d. Location
e. Courses
f. Availability
Acceptance Tests:
- User profile is viewable and accurate
- Link directs user to correct profile
Name: Meeting Confirmation
Iteration 2
Actors: Regular users
Triggers/Preconditions: User receives a request from another user.
Actions/Postconditions:
- User clicks on “profile” button
- User clicks on “my posts” button
- User scrolls down to the post in question.
- User clicks on “confirm” button
Acceptance Tests:
- Meeting time and location are saved for both users to see.
- The user requesting is notified.
Name: User Review Viewing
Iteration 3
Actors: Regular users
Triggers/Preconditions: User wants to find out how other users reviewed a particular user.
Actions/Postconditions:
- User clicks on other user’s profile link
- User scrolls down to see reviews
Acceptance Tests
- Other user has reviews available on their profile
Name: Remove post
Iteration 3
Actors: Admin users
Triggers/Preconditions: Admin user sees an unrelated post (e.g. tutoring ads) on thread and wants to remove it.
Actions/Postconditions:
- User clicks on delete button
- System prompts user to confirm deletion and choose reason from drop-down menu (e.g. spam, inappropriate content, etc.)
- If confirmed, system deletes post
a. System checks for number of previous offenses
i. If number if less than 2, send warning email to offender
ii. If number is between 3-5 inclusive, send notification email to offender and begin 7 day account suspension
iii. If number is greater than 5, send notification email to offender stating their account has been banned and removed
Acceptance Tests:
- User must click confirm on the prompt
- User must provide a reason for deletion
- System must send email notifying offender of the type of offence and what penalty (warning/suspension/removal)
Future Features
The following are features that are being considered for the future:
● Users can provide reviews to each other after study meeting
● Admins can ban or suspend users
● Google Maps API displaying common study locations