MuSpace

Software Requirement Specification (SRS)

1. Introduction

1.1 Project Summary

MuSpace is a music-based social media platform focused on connecting music fans with one another and allowing them to share their tastes with the world. Each MuSpace user will be provided with a personal feed to post about songs, albums, artists, and playlists that they are interested in. Users will be able to add friends on MuSpace with who they can chat, and look at their detailed Spotify listening history. Users will also be able to view detailed statistics about their listening habits, such as listening time, favourite genres, favourite artists, and more.

1.2 Purpose

This is the requirement document, which contains everything necessary for MuSpace. Additionally, the document includes the project features along with a description of how each feature will function. The audience for this document is potential clients and their corresponding development teams. This is a reference guide for the development teams to ensure that everything runs smoothly, and answer potential questions along the way.

1.3 Business Model

The platform will be free to use. It will cost users nothing to download and there will be no advertisements in the application. The reasons for allowing users to use the application for free are to first gain exposure and publicity as well as develop monetizable content.

1.4 Definitions, Acryonyms and Abbreviations

1.4.1 Acronyms and Abbreviations

1.4.2 Definitions

1.5 References

2. Overall description

2.1 Product Perspective

MuSpace will take a web-based development approach using React. Major components include user connection to Spotify using Spotify’s Web API, and web-based chat functionality.

2.1.1 Sample GUI

2.2 Product Functions

MuSpace is a music application allowing users to connect and chat with each other, as well as look at what music their friends have been listening to. Users will be able to add friends, and friends can chat with each other using the in-app chat feature. The app currently supports Spotify for music preference data.

2.3 User Characteristics

MuSpace’s primary users are those trying to connect with others who have a similar taste in music. MuSpace will be easy to use with a minimalistic UI, allowing users with minimal technical literacy to navigate through the application to connect with their friends and share music. A help section, as well as an FAQ, will be included in all versions of MuSpace so that users can quickly get up to speed.

2.4 Constraints

MuSpace users must have an active Spotify account. Without a Spotify account, users will be unable to create their MuSpace account. MuSpace, at this current point in time, will not function on iOS or Android devices, it will only be available on a web browser. IOS and Android functionality will be added in the the near future.

MuSpace users must have a stable internet connection in order to use the web application. Weak internet connection can result in excessive buffering time.

MuSpace will have time, cost and reliability constraints. Development and testing must be finished before August 15th, 2021, and will be developed for free with no funding from the school or the students. Publication to the Apple App store requires a fee, so this will be a constraint.

2.5 Assumptions and Dependencies

It is required that users of MuSpace all have Spotify accounts, with some level of activity on the platform to build a profile. MuSpace is dependent on how rich the user's musical history (songs listened to, artists followed, hours spent listening to certain genres, etc.) is, the more in-depth their profile will be and better the experience they will get from MuSpace.

2.6 User Interfaces

2.6.1 Sidebar

The Sidebar will be consistent in all of the pages, except that of the Login/ Register (2.6.3/ 2.6.4) Pages. It’s functionality will be to access all other pages (except Login/ Register pages) from any other page.

2.6.2 Searchbar

The Searchbar, similar to the SideBar (2.6.1) will be present on all pages.. The use of the search bar is to search for friends/ people’s profiles. Along with this, the search bar contains the notification icon that indicates when a notification is present.

2.6.3 Login Page

The Login Page will be the first page that will be displayed to the user. This page will allow the user to login with the credentials using different authentications such as “login with Email” or “login with Google” (with their Google account). The page consists of a “Forgot Password” function that allows the user to reset their password with a link sent to the email linked to the MuSpace account. The sign up/register functionality is available for the user to create a new account and is found beside the “Forgot Password” function, this function redirects the user to the Registration Page (2.6.4).

2.6.4 Register Page

The Register Page, asks for the new user’s information, such as First and Last names, Date of Birth, Username, Email and Password. This information will go into the database.

2.6.5 Home Page

The Home Page is the main page the user is redirected to after successfully logging in. This page displays some statistics about the user’s activity on MuSpace including favourite artists of the week, favourite songs of the week, hours spent listening to music, and more. The page also shows the friends activity tab which displays the music and album a particular friend (added previously by the user) is listening to.

2.6.6 Messages Page

The Messages Page is where users can go to see all of their chat histories with each of their friends. The main messages page is a list of conversations the user has had with each friend, sorted by the most recent history. Clicking on one of these conversations will bring the user to the chat page, in which they can send a message to the friend whose chat page they opened.

2.6.7 Notification Page

The Notification Page is where users can see any unread notifications they received. These could include new messages, friend requests, updates from the developers, or required actions such as updating account information.

2.6.8 Profile Page

The profile page is where users go to see their own or their friends' listening activity and statistics on Spotify. Each person's profile page can be customized with a profile picture, and a short biography (max 100 words).

2.6.9 Friends Page

The Friends Page will display all current friends, along with their listening activity (what they are currently listening to), along with leaderboards, and a similarity bar. The Leaderboard shows which of your friends has the most listening hours and Unique artists listened to in a given amount of time (to be determined).

2.7 Use Case Diagram

3. Technical Requirements

3.1 Hardware Interfaces

The application will run on any Windows, OSx or Linux machine. The web browsers that can be used include Google Chrome, Mozilla Firefox, Apple Safari, Microsoft Edge. The input will be received from the keyboard and mouse the system is attached to.

3.2 Functional Requirements

3.2.1 Client Requirements

3.2.2 Server/Development Requirements

3.3 Security

MuSpace will allow users to create accounts either by signing up with Google or by creating a username and password. All transactions for authentication are passed through a secure encrypted end-to-end pipeline to the Google Firebase Authentication servers. Google Firebase Authentication is compliant with the ISO 27001, ISO 27017, ISO 27018, SOC 1, SOC 2, and SOC 3 security evaluation standards. Below are some technologies MuSpace itself uses for security:

3.4 Design Constraints

The design tools are limited in solely budget, as the budget is $0.00. The Developer fees however for publishing are not tied down to the cost of the project itself and will be split with all team members. All other resources (frameworks, APIs, etc.) are free and open-source.

3.5 Portability

Since this is a web-based application. It will be accessible on any device with a modern web browser as long as the user has a Spotify account and an internet connection to utilize the app.

4. Extra Details

Version History:

Authored By: