Skip to content

2000krysztof/-Software-Engineering-Practice-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

-Software-Engineering-Practice-Project

The college group repository for the Software Engineering Practice

Members

Paul Fitzgerald
Stephen Walsh
Darragh McGarry
Krzysztof Malczuk
Wolfgang Romanowski

Project Name

StudySphere

Project Vision

FOR students in universities WHO want to switch from Slack or Discord because Slack has become a paid service and Discord has a file size limit THE StudySphere IS A communication service THAT has no forced subscription and higher file size limits.
UNLIKE Slack, Discord and Zoom OUR PRODUCT will have interactive lectures that could replace zoom calls during situations like covid.
A collaborative notes section where students and lecturers can share notes amongst each other. StudySphere will also have a task scheduler where students and lecturers can plan tasks that need to be completed in a specific time frame.

Features

Account Management:
Users can create/delete an account.
Universities/Colleges can register on Studysphere, allowing them to create accounts for students and lecturers, or register existing accounts as a member of said university/college.
This allows universities/colleges to verify that a lecturer’s account is real, and that they work for that university/college.

Basic User abilities:
Users are able to post messages for other users to see.
Users can view messages from other users.
Users can directly message other users in the same channel.
Users cannot directly message other users who don’t share any channels with them, however, DMs (direct messages) are stored on the channel, allowing the admin of the channel to access messages between users, making channels easier to moderate.
Users can upload files up to 5GB.
Users are able to create/delete a channel.
Users have a built-in calendar that they can mark important dates/times on.
Channels can also have a calendar that can have important dates/times marked.
Will have robust voice/video sharing call functionality, ideal for giving lectures.
Set so only specific people can unmute at certain times.
This feature can be turned off at will by the lecturer during lectures to allow students to ask questions.
Can automatically record video calls to easily archive lectures, and automatically add them to the academic resource library (discussed later in unique features).

User Permissions/Channel Settings:
Able to set permissions on a channel, such as making lecturers moderators etc.
Moderator permissions allow the use of moderation tools - banning etc.
Able to add/remove plugins to channels as a moderator.
Plugins can be added to customise the functionality of channels, if users want extra functionality that is not included in the base software.
Users can join/be invited to channels.
Channels can be set to different privacy permissions, depending on the aim of the channel.
Setting the channel to “public” will allow any user to join without an invitation.
Setting the channel to “private” will only allow invited users to join. Good for channels for individual classes.
Setting the channel to “members only” will only allow users associated with the channel’s selected universities/colleges to join. Good for channels for university-wide clubs.

Other Unique features:
Each channel will come with an academic resource library that can be used for uploading files to share with other users on the channel,
which can be subdivided into different categories (similar to a smaller built-in version of Moodle)
For example, categories for assignment/lab submissions, others for lecture notes/videos.
Permissions can be set for who can see the uploaded files, max file size uploaded per user and who can upload files in the first place.
Supports many different file types.

Subscription features:
Messages will always remain on channels forever, even without a subscription, as opposed to disappearing in 90 days like on the free version of Slack.
This will convince users to switch from Slack, as this is a common complaint from lecturers/universities using Slack.
Users can subscribe for additional features for all their channels.
This will be much cheaper than Slack’s expensive €8.75 per user each month minimum subscription fee,
making it affordable for universities that are not willing to pay as much as businesses (Slack’s main target demographic) for a communication service.
Subscribing allows more data to be stored on academic resource libraries, going from 20GB to 100GB.

This list of features was derived from matching the features that Slack and Discord provide, alongside adding extra features to set us apart from them.

User Scenarios

Joe’s scenario:
Joe will be out sick for two weeks and needs to teach his classes online during that timespan. He wants to put up online work for his classes for the first week, but he predicts he will be well enough to conduct online lectures in the second week.

He feels that using a combination of StudySphere and Moodle would likely work well enough for the first week, but he needs the work on StudySphere to stay up for at least a semester, as he wants to be able to look over every students’ work and attendance at the end of the semester. The final submissions and attendance for classes will be made on Moodle for this, but questions, answers and smaller submissions will be shared on StudySphere.

He would use StudySphere for online lectures, as StudySphere’s strong moderation tools allow him to monitor and control students, to make sure they are paying attention. He wants to only allow students who have their cameras on to join the lectures. He also wants the students to be able to interact with lectures at certain intervals, such as the ability to ask questions, or hold small interactive quizzes similar to an app like Kahoot!.

Emma’s Scenario:
Emma had no way of getting to lectures due to the cancellation of all buses due to storm Fergus. This wasn't a problem unique to Emma; many of her peers were in the same predicament, facing the prospect of falling behind in their coursework. Consequently, she would have fallen behind in her studies if she didn’t have access to her lecturers’ notes on StudySphere. Her lecturer, Mary, then decided to release her notes on StudySphere in order for students who couldn’t attend her lectures to still be able to participate.

Furthermore, Mary then also decided to use StudySphere’s online video collaboration to host optional online classes for students. Emma discerned that learning should not be monolithic and that taking classes online as well as on campus lectures is a quintessential blend of academic learning.

For one of Emma’s assignments she has been given the task of filming a mini-documentary on a historical site in her village. It is mandatory for this documentary to be filmed in high definition. Therefore, the file size is over three gigabytes. Using StudySphere’s online upload system which has a maximum upload size of five gigabytes she successfully uploaded her assignment. This file would have been too large to upload to Slack or Discord.

Sarah’s scenario:
Sarah has been having trouble with Moodle and some of her materials were not showing up for the students. Sarah was still using the Moodle submission boxes as they were explained to her by a colleague. Also the messages that were sent to Sarah from the students were coming from different sources.

Sarah found the easy login system with the single click of the button log in with Google very convenient. She also found that sending messages into the different channels and having a centralised place for discussion very useful. She likes the idea of letting the students discuss the material and give her direct feedback if something is missing.

After using StudySphere Sarah has decided to use it for all the module material and communication. She has also decided to keep using Moodle for the work submission from the students as that is what she is used to and she does not want to relearn that.

David’s Scenario:
David has a group project that has to be completed for his programming module soon. He needs a user experience which compliments his necessity for larger file sizes.

David finds a far smoother experience regarding educational content via StudySphere, which provides a centralised course experience via a smooth UI that works across all platforms. He found StudySphere to be a robust communication platform with fantastic integrated academic resources and elite quality task management.

David was able to format all of his schoolwork via StudySphere’s channel system, hence creating a compact yet organised system which leads towards ideal performance for top level education. With a subscription he would in addition be able to upload files up to 100GB, hence outperforming all of the competition regarding capabilities and performance.

David found StudySphere so convenient that after using it he decided that it would in fact be a fundamental replacement in his arsenal of applications that when applied assist in pursuing his educational goals.

User Stories:

As a twenty-four year old student studying computer science, I want to be able to see the entire history of the channels I have joined, even old messages, so that I can keep track of announcements and not have to archive answers to questions I ask on StudySphere.

As a thirty-nine year old lecturer for engineering, I need to be able to teach online lectures in a video call so that I can still teach students, even when I am unable to take class in-person.

As a forty-five year old lecturer who teaches history, I need to be able to upload large video files, so that I can post long documentaries on StudySphere.

As a twenty-three year old student who studies architecture and manages my university’s chess club, I need to set channels so only members of my university can join the club’s channel, but I don’t necessarily have to manually invite them, so that it is easier for new members to join, but stop people who aren’t associated with the university from joining.

As an eighteen year old student studying history, I need to be able to easily find and share academic resources so that I can keep up with my coursework and collaborate with my group project members.

As a sixty-year old IT manager, I need to be able to set up a way to automatically register and unregister student StudySphere accounts with the university I work for so that I don’t have to spend ages registering new students for an external product.

As a thirty year old student studying physics, I want to be able to keep track of important dates for specific subjects on a calendar, both manually and automatically, so that I can make sure I don’t forget important deadlines and set my own deadlines for parts of assignments.

As a fifty-five year old lecturer teaching mathematics, I need to automatically archive videos of my lectures, so that I can put them up as academic resources on Moodle, but I often forget to record my lectures and have to go out of my way to re-do the lecture on my own in my free time and record it.

Amended Feature List (changes are highlighted in yellow):

Account Management:
Users can create/delete an account.
Universities/Colleges can register on Studysphere, allowing them to create accounts for students and lecturers, or register existing accounts as a member of said university/college.
This allows universities/colleges to verify that a lecturer’s account is real, and that they work for that university/college.
StudySphere will make it simpler to automate setting up accounts for students and lecturers, to stand out against its competitors.

Basic User abilities:
Users are able to post messages for other users to see.
Users can view messages from other users.
Users can directly message other users in the same channel.
Users cannot directly message other users who don’t share any channels with them, however, DMs (direct messages) are stored on the channel, allowing the admin of the channel to access messages between users, making channels easier to moderate.
Users can upload files up to 5GB.
Users are able to create/delete a channel.
Users have a built-in calendar that they can mark important dates/times on.
Channels can also have a calendar that can have important dates/times marked.
StudySphere will have an easy-to-use, convenient UI for both desktops and phones.
If they want to, users can customise the UI.
Will have robust voice/video sharing call functionality, ideal for giving lectures.
Set so only specific people can unmute at certain times.
This feature can be turned off at will by the lecturer during lectures to allow students to ask questions.
Can automatically record video calls to easily archive lectures, and automatically add them to the academic resource library (discussed later in unique features).

User Permissions/Channel Settings:
Able to set permissions on a channel, such as making lecturers moderators etc.
Moderator permissions allow the use of moderation tools - banning etc.
Able to add/remove plugins to channels as a moderator.
Plugins can be added to customise the functionality of channels, if users want extra functionality that is not included in the base software.
Users can join/be invited to channels.
Voice calls can be set to only allow specific users, or users who meet certain criteria.
For example, only users who have their cameras on can join a meeting.
Channels can be set to different privacy permissions, depending on the aim of the channel.
Setting the channel to “public” will allow any user to join without an invitation.
Setting the channel to “private” will only allow invited users to join. Good for channels for individual classes.
Setting the channel to “members only” will only allow users associated with the channel’s selected universities/colleges to join. Good for channels for university-wide clubs.

Other Unique features:
Each channel will come with an academic resource library that can be used for uploading files to share with other users on the channel, which can be subdivided into different categories (similar to a smaller built-in version of Moodle)
For example, categories for assignment/lab submissions, others for lecture notes/videos.
Permissions can be set for who can see the uploaded files, max file size uploaded per user and who can upload files in the first place.
Supports many different file types.

Subscription features:
Messages will always remain on channels forever, even without a subscription, as opposed to disappearing in 90 days like on the free version of Slack.
This will convince users to switch from Slack, as this is a common complaint from lecturers/universities using Slack.
Universities/other organisations can subscribe for additional features for all their channels/related accounts.
This will be much cheaper than Slack’s expensive €8.75 per user each month minimum subscription fee, making it affordable for universities that are not willing to pay as much as businesses (Slack’s main target demographic) for a communication service.
Subscribing allows more data to be stored on academic resource libraries, going from 20GB to 200GB.
Increased interactivity during online lectures/voice calls, such as the ability to hold quizzes similar to sites such as Kahoot!.
Users can sign up to the student version of StudySphere using their student email to receive some benefits from the subscription.
Universities/other organisations subscribed to StudySphere can get direct support from StudySphere’s support team between 09:00-17:00 on weekdays.
Universities/other organisations can also pay to train their employees to quickly set up StudySphere accounts and more efficiently use other aspects of StudySphere.
Student accounts can also have a personal area where they can write notes or upload files (max 5GB) to themselves.

This list of features was derived from matching the features that Slack and Discord provide, alongside adding extra features to set us apart from them.

Use Case Descriptions

UC1: Authenticate User
Primary actor: User

Precondition:
User has already created an account.
User has navigated to the login screen.

Main Success Scenario:
System checks to see if user has two-factor authentication active.
User enters their password.
System checks to see if the password is valid.
If valid, the system logs user into account.
User is shown their account’s channel selection page.

Alternative Success Scenarios:
User has two-factor authentication active:
As above but with the following modifications:

  • Add step 2b: User enters their username.
  • Add step 3b: System checks to see if the username is valid.

    Failure Scenarios:
    User enters invalid password
    At step 4, system displays “invalid username/password” error message and places user back at the login screen instead of the channel selection page.

UC2: Create User
Primary actor: College Service
Precondition:
College is already registered with StudySphere.

Main Success Scenario:
College selects student/lecturer email address to create a user from.
College assigns username and password to this email.
New user is registered in the system, and is automatically associated with the college.

Alternative Success Scenarios:
College automates user creation process
As above but with the following modifications:

  • Add step 1b: College selects multiple emails, and gives specifications for username and password generation.
  • At step 2: System generates username based on email name and sends email random password based on college’s specifications.

    Failure Scenarios:
    College enters invalid email
    At step 3: System displays “invalid email” error message and sends college service back to step 1.

    College enters very weak password:
    At step 3: System displays “password must be at least 6 characters long with at least 2 numbers” error message and sends college service back to step 2.

UC3: Get Channel
Primary actor: College Service
Precondition:
User has already created an account.
User has navigated to a channel selection screen.

Main Success Scenario:
User attempts to join a channel associated with the college service.
System checks the college service’s permissions for this channel.
System compares requirements to join the user.
If valid, college service allows user to join the channel.
Alternative Success Scenarios:
User is manually invited to join channel:
As above but with the following modifications:

  • Add step 4b: If requirements are invalid, user is still permitted to join channel as a guest, which the college service can decide to keep or remove guest status from the user in this channel.
    Failure Scenarios:
    User is not permitted to join channel
    At step 4, system displays “not permitted to join channel” error message and places user back at the channel selection screen instead of joining the channel.

UC4: Create Channel
Primary actor: User
Precondition:
User has already created an account.
User has navigated to a channel selection screen.
User is associated with a college service.

Main Success Scenario:
User clicks the “create channel” button.
User enters the channel name.
System creates a new channel, with a default channel profile picture, which is automatically associated with the user’s college service and assigns the user as admin to this channel.
Alternative Success Scenarios:
User assigns picture to channel profile:
As above but with the following modifications:

  • Add step 3b: Channel is given inputted picture to use as its profile picture.
    Failure Scenarios:
    User enters invalid name
    At step 3, system displays “name must be under 200 characters” error message and places user back at the channel selection screen instead of creating the channel.

UC5: Get Plugins
Primary actor: Plugin Service
Precondition:
User has joined channel successfully.
Channel has associated plugins.

Main Success Scenario: Channel requests its plugins from plugin service.
Plugin service sends its plugins to user.
Plugins modify channel behaviour for user.

Alternative Success Scenarios:
User is set to block incoming plugins
As above but with the following modifications:

  • Add step 3b: Depending on channel settings, system either allows the user into the channel or blocks the user from entering with “plugins required” error message, and sends them back to the channel selection screen.

    Failure Scenarios:
    Plugin service is down
    After step 1, depending on channel settings, system either allows the user into the channel or blocks the user from entering with “plugins required” error message, and sends them back to the channel selection screen.

UC6: Upload Files
Primary actor: User
Precondition:
User has joined the channel successfully.

Main Success Scenario:
User selects the “upload files” button.
User chooses a file to upload.
System checks if file size is not over 20GB.
If it is, the file is uploaded to the server’s academic resource library.
Other users can access this file, if they have permission.

Alternative Success Scenarios:
User has subscription to StudySphere
As above but with the following modifications:

  • Add step 3b: If file size is under 200GB, system checks if user is subscribed to StudySphere. If they are subscribed, proceed to step 4 as usual.
    Failure Scenarios:
    File too large
    After step 3, systems displays “file size must be under 20GB for unsubscribed users, and 200GB for subscribed users” and does not upload file to server’s academic resource library.

UC7: Handle messages
Primary actor: User
Precondition:
User has joined the channel successfully.
Main Success Scenario:
User types out message.
User selects the “send message” button.
System checks if message is under 2000 characters.
If it is, the message is sent to the channel.

Alternative Success Scenarios:
User has subscription to StudySphere
As above but with the following modifications:

  • Add step 3b: Check if message is under 10000 characters.

    Failure Scenarios:
    Message too long
    After step 3, system displays “message too long, subscribe to StudySphere for extra message length or split up your message into multiple messages” and does not send the message to the channel.

UC8: Access Moderator Tools
Primary actor: User
Precondition:
User has joined the channel successfully.

Main Success Scenario:
User attempts to access the moderator toolbar.
System checks list of channel moderators.
If user is a moderator, ask user to enter a password.
System checks if this password is correct
Allow user to use the moderator toolbar.

Failure Scenarios:
User enters invalid password

  • After step 4, system displays “invalid password” error messages and does not allow user to access the moderator toolbar.
    User is not a moderator
  • After step 2, system displays “not a moderator” error messages and does not allow user to access the moderator toolbar.

UC9: Manage Plugins
Primary actor: User
Precondition:
User has joined the channel successfully.
User has accessed the moderator toolbar.

Main Success Scenario:
User selects plugins to add/remove.
User selects the “confirm” button.
System finds relevant plugins from plugin services
System displays “Are you sure you want to change plugins? All users will have to reload the channel.” warning message.
User selects the “confirm” button.
System changes channel plugins, and all users currently online reload the channel and use the “get plugin” use case.

Alternative Success Scenarios:
User cancels after warning
As above but with the following modifications:

  • After step 3: User selects the “cancel” button, and no change is made to the channel.

    Failure Scenarios:
    Plugin service is down
    After step 3, system displays the “Could not find plugins” error message.

About

The college group repository for the Software Engineering Practice

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages