Professional Documents
Culture Documents
SRS Template
SRS Template
SRS Template
1.2 Scope 3
1.4 References 3
2 Overall Description 4
2.1 Product Perspective 4
2.4 Constraints 19
3 Specific Requirements 20
3.1 External Interface Requirements 20
3.2 Features 20
1.1 PURPOSE
The purpose of this document is to establish how the application should interact with the end user,
and establish all application requirements functional, and non functional. Once finalized, this
document will state what must be accomplished for the application to be considered finished.
1.2 SCOPE
This SRS covers a number of potential use cases that users may encounter, as well as an overview
of the project and its intended uses. It also includes information on the project’s UI sketches, but
the primary purpose is to give detailed descriptions of anticipated use cases.
Term Description
AWS A public cloud offering by Amazon.com that stands for Amazon Web Services
EC2 AWS’ virtual computing environments (i.e. servers optimized for a
computational load). EC2 stands for Elastic Compute Cloud
RDS Relational Database Service. AWS’ virtual database environments (i.e. servers
optimized for database usage).
UI/UX User Interface / User Experience
MVC Model-View-Controller – Design pattern commonly implemented in
object-oriented programming for use in web development
JS The JavaScript programming language.
1.4 REFERENCES
https://aws.amazon.com/what-is-aws/?nc2=h_ql_le_int
Within the last two decades, music streaming has overtaken other means of listening to music (e.g.
purchasing records, CDs, and/or MP3 files from online music services). This being the case, many
different streaming services have come to fruition, and different artists have chosen to release their
music on different platforms. The goal of this platform is to allow easy access to songs on any
platform by allowing users to create, and seamlessly listen to, playlists of songs from any and all of
the available streaming services.
These use cases describe the steps that a user would do to create playlists, login to their preferred
platform, add music and then play the selected playlist.
2.2.1 UC-0
User creates a playlist.
Main scenario:
1) User navigates to the OneMusic website.
2) User clicks on the “Create Playlist” tab.
2.2.2 UC-1
User wants to edit a playlist’s information.
Main scenario:
1) User navigates to the OneMusic website.
2) User clicks “Edit Playlist” button.
3) User enters a new playlist name and/or description.
4) User clicks “Save Changes” button, and then is redirected to the front page.
2.2.3 UC-2
User wishes to play the songs on a playlist.
Main scenario:
1) User clicks on a playlist on the home page (that has been created beforehand by the user or
someone else).
2) The user can then click on a song to begin playing it, or click the “Start Playlist” button.
3) Music then begins playing, and the user can control the music in the usual manner.
2.2.4 UC-3
Adding Song to Playlist via Spotify
Main scenario:
1) User navigates to the OneMusic website.
2) User clicks the “Add Songs” button on a specific playlist.
3) User clicks on the Spotify icon on the new page.
4) User clicks on the “Login with Spotify” button to login to their account.
5) User is redirected to a new page, which prompts login.
6) User then clicks on the search bar and types in their desired track.
2.2.5 UC-4
Adding Song to Playlist via YouTube
Main scenario:
1) User navigates to the OneMusic website.
2) User clicks the “Add Songs” button on a specific playlist.
3) User clicks on the Youtube icon on the new page.
4) User then clicks on the search bar and types in their desired track.
5) User clicks on the “Search” button.
6) User finds the desired track and then clicks the “Add song” button.
2.2.6 UC-5
Listening to a Youtube track on it’s own.
Main scenario:
1) User navigates to the OneMusic website.
2) User clicks the “Add Songs” button on a specific playlist.
3) User clicks on the Youtube icon on the new page.
4) User then clicks on the search bar and types in their desired track.
5) User clicks on the “Search” button.
6) User finds the desired track and then clicks the “Play” button.
a) Users can pause the track if it is playing by pressing the “Pause” button.
b) If the track is paused, the User can click the “Resume” button to resume playing the
track.
2.2.7 UC-6
Checking what song is currently playing on Spotify
Main scenario:
SRS DOCUMENT Introduction Page 9 of 13
1) User navigates to the OneMusic website.
2) User clicks the “Add Songs” button on a specific playlist.
3) User clicks on the Spotify icon on the new page.
4) User clicks on the “Login with Spotify” button to login to their account.
5) User is redirected to a new page, which prompts login.
6) User clicks on the “Check Now Playing” button.
a) If nothing shows up, no song is currently playing on Spotify.
b) Otherwise, the name and artwork of the song will appear.
2.4 CONSTRAINTS
The constraint of primary concern is the User’s internet connection.
2.5.1 Hardware
Any user of OneMusic must be able to access a website via a computer or phone.
2.5.2 Software
A OneMusic user must have a browser that supports JavaScript, and must not be preventing
JS from running, and/or have a JS disabling browser extension running.
3.1 FEATURES
We used languages, frameworks, and packages that have been rigorously tested in industry.
3.4.2 Availability
We designed this platform on and for a computer browser (rather than mobile). Our
platform works on all Chrome based browsers along with Firefox.
3.4.3 Security
The network configuration and servers that our infrastructure is set up on is secured in
accordance with AWS Security Best Practices.
3.4.4 Maintainability
The website should be maintainable for a small user base. Since we don’t know how to
artificially increase traffic to our website, we can’t be sure to it’s maintainability under high load.
Given that we are using high-end Amazon EC2 Cloud servers, we are definitely able to withstand
good amounts of internet traffic for the current intended usability of the website.
3.4.5 Portability