Srs Document Specific Requirements Page 1 of 20
Srs Document Specific Requirements Page 1 of 20
Srs Document Specific Requirements Page 1 of 20
TEAM: SD1
AUTHORS: Marcin Lukanus, Dylan Mrzlak, Chris Pavlopoulos, Alex Thompson
Purpose 5
Scope 5
References 5
Overview 5
Product Perspective 6
Concept of Operations 6
Major User Interfaces 7
Example Screenshot and description 8
Product functions 13
Use Cases 14
User characteristics 17
Features 17
Performance requirements 18
Design Constraints 18
Other Requirements 20
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
Party A room in which members of the party are able to add Spotify songs to the
queue
Host The creator of a designated Party room.
1.4 REFERENCES
[None]
1.5 OVERVIEW
People at social gatherings often like to suggest songs at the expense of hassling whoever is
currently utilizing the speakers/music devices. Our solution is to create an application that would
allow both the host and attendees of social gatherings to collectively queue songs via their own
devices to be played through the host’s device. The Host will be allowed to create Party rooms and
any user would be able to join that Party room via the Host’s username.
This system will be supported by a database, which will store lists of users, parties, and songs. We
utilize a cross-reference table to make communication between the databases easier for ourselves.
The frontend will make requests to the backend’s databases in order to function when creating and
destroying Party rooms as well as associating Users to Parties and Songs to Parties.
3a. User attempts to log in, but no account for the user exists.
3a2. The user enters their desired username, email, and password.
3a3. The frontend sends this information to be stored in a Users database in the
backend, which creates the user.
3a4. The user is redirected to the Home page and automatically logged in with their
inputted information from the Sign Up page.
3. The frontend sends the input to the backend to parse the Party database for any
entries that contain the input keywords.
1.8.3 Host or Guest in a Party wants to add a song to the queue. (User goal / Host/Guest)
Main scenario:
Extensions:
3a. User enters information that cannot be stored. (Example: Account with that username
already exists)
3a1. System will display an error signifying to the user that an account with that
username already exists in the User database.
1. The user is in a Party that they created (they are the Host).
Extensions:
1a1 If there are no songs in the queue, the Skip button does nothing.
– Assumptions
- Users have access to reliable Internet service.
- Users have existing Spotify accounts.
– Dependencies
- The ‘host’ of parties must have a valid Spotify Premium account.
- The ‘host’ of parties must be using a non-mobile device.
2. Specific Requirements
2.1. FEATURES
2.1.1. Authentication
2.1.1.1. The Users database is all handled by the Django framework as it
provides a robust and secure handling of sensitive user information.
2.1.2. Spotify Authentication