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 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.
Front-end: HTML, Javascript, CSS, ReactJS
Back-end: Javascript
Database: Firestore, Firebase
Name | Standard/Template | Reviewed By |
---|---|---|
Requirements Document | Modified IEEE | Entire Team |
Project Management Document | Modified IEEE | |
Analysis Document | Modified IEEE | |
Design Document | Modified IEEE | |
User Document | Modified IEEE | |
Participation Record (Hours) | Self-documentation using internal Google Sheets file | Adrian |
Source Code | Modified IEEE | All Developers |
The Spotify API/ Firebase login authenticity is being done by Nausher Rao. The verification and validation of his work will be completed by the remaining members.
On every view, the sidebar allows for quick and easy navigation to any of the other views.
Field | Type | Description |
---|---|---|
HomeView | Button | Links to HomePage |
FriendsPageView | Button | Links to FriendsPage |
MessagesView | Button | Links to MessagesPage |
ProfileID | Button | Links to Profile View (Clicking the Profile Picture/ Username) |
SettingsView | Button | Links to SettingsPage |
Search bar allows the user to find songs / albums / playlists etc, along with friends.
Field | Type | Description |
---|---|---|
ClearButton | Button | Clears Search Field |
SearchField | Text Field | Search Input |
SearchButton | Button | Searches what was typed into the search field |
Login View allows users to enter their account credentials and login to their account.
Field | Type | Description |
---|---|---|
MuSpaceLogo | Image | Application Logo |
Log in | Label | Describes what page the user is on i.e Log in |
Email or Username | Text Field | Asks for the email or name of the user. |
Password | Text Field | Asks for the password to a user account associated with email/username. |
Login-Button | Button | Signs into the account. |
Forgot password-button | Button | Links to password recovery page. |
Register button | Button | Links to the RegisterView page in case the user does not have an account created. |
Register Page allows new users to register with MuSpace asking them for their credentials like Name, Email, Date of Birth, etc. creating an account for them with their desired available username and unique password.
Field | Type | Description |
---|---|---|
MuSpaceLogo | Image | Application Logo |
lblacc | Label | Tells the user about what the page is about i.e. creating your account. |
Text Field | Asks the user to input the desired email through which they would like to be associated with MuSpace. | |
Confirm email | Text Field | Asks the user to re-input their email to confirm the correct email. |
First name | Text Field | Asks users to input their first name for application use. |
Last name | Text Field | Asks users to input their Last name for application use. |
Username | Text Field | The user is required to create a unique username, which is what he’ll use to login with MuSpace. |
Password | Text Field | Password is a unique identification key that user will use with username to log into MuSpace and keep his account protected. |
Date of birth | Text field / Drop-down Button | The user can either enter his date of birth or choose the date in the dropdown calendar. |
Register | Button | This button takes the user to the next page,i.e. The check-email page from where the user can authorize spotify and start using Muspace. |
Field | Type | Description |
---|---|---|
GreetingLBL | Label | This is just a greeting that shows up when the user logs in and goes to the home page. |
Total Listening Time | Label | Displays total time spent listening to music since account creation |
Album Cover | Button | This is located in your friend’s section, every time you click on it it takes you to the album cover your friend was listening to. |
Username | Button | This is located in your friend’s section, every time you click on it it takes you to the friend’s profile with that username. |
Favartistlbl | Label | Displays the most played artist of the week by the user |
Favsonglbl | Label | Displays the most played song of the week |
SettingsButton | Button | Links user to the settings page |
ProfileButton | Button | Links user to their profile |
SeeMoreButton | Button | Lets the user view more friends' listening activity. |
The Messages page is to allows users to communicate with their friends on the app.
Field | Type | Description |
---|---|---|
PickFriend | Button | Changes which friend user is talking to |
TypeMessage | Text Field | User inputs the message they want to send to the user |
SendButton | Button | Sends selected message to the database (then the user) |
FriendScroll | Scroll Bar | Allows the user to scroll through a friends list |
UserID | Label | Displays friend’s Username & Picture |
The View where a user can toggle between different settings options.
Field | Type | Description |
---|---|---|
UserID | Label | Label displays user profile name |
Upload | Button | User uploads new profile picture |
ChangePassword | Button | User changes password |
DeleteAccount | Button | Deletes the user’s profile |
Logout | Button | Logs the user out of MuSpace |
LightMode | Button | Changes the UI to Light Mode |
DarkMode | Button | Changes the UI to Dark Mode |
LanguageEnglish | Button | Changes the language to English |
LanguageFrench | Button | Changes the language to French |
A View where the user can view all of their account notifications.
Field | Type | Description |
---|---|---|
NotificationMessage | Label/Button | links to user’s profile or to notification content |
Field | Type | Description |
---|---|---|
Feed (not yet implemented) | Label | Feed section title, section dynamically displays latest feed items |
FeedItem (not yet implemented) | Button | Individual feed item displays post information |
TopArtists | Label | Section displays user’s top artists |
ArtistID | Label | Displays individual artists’ |
FriendsAlbums | Label | Section displays user’s friends’ top rated albums |
AlbumID | Label | Displays individual album name |
TopSongs | Label | Section displays user’s top rated songs |
Field | Type | Description |
---|---|---|
Your Friends Top Songs | Button | Displays your friend’s top album they are listening to |
Your Friends Top Artists | Button | Displays your friends top artists they are listening to |
Leaderboards | Label | A ranked chart that shows who out of your friends has the most listening hours and the number of unique artists they listen to |
Friends Listening Activity | Button | A live feed that shows the song that your friend is listening to |
RegisterPage()
RegisterForm()
RegisterField(text,type,placeholder)
LoginPage()
LoginForm()
LoginField(text,type,placeholder)
Sidebar()
SidebarButton()
ListeningActivityCard()
ProtectedRoute()
PageRouter()
AlbumCover(width)
UserButton()
GitHub Issues Tracking tool is going to be used to organize issues that need to be resolved