Skip to content

Functional Requirements

Enestst edited this page Nov 5, 2024 · 33 revisions

User Requirements

1. User Registration and Authentication

1.1 Registration

1.1.1 Users shall register for an account by providing necessary information, including name, username, email, and password.

1.1.2 Users shall choose their user categories.

1.2 Authentication

1.2.1 Users shall log in to the system using their username and password.

1.2.2 Users shall be able to securely reset their passwords.

1.2.3 Users shall be able to log out.

2. User Profile Management

2.1 Profile Customization

2.1.1 Users shall be able to view and update their profile information, including their name, username, email, and selected user categories.

2.2 Following System

2.2.1 Users shall be able to follow and unfollow other users.

2.2.2 Users shall be able to view their list of followers and the users they are following.

3. Content Creation and Interaction

3.1 Post Creation

3.1.1 Users shall be able to create and publish posts containing text, images, links, and embedded Spotify playlists.

3.1.1.1 Users shall be able to create event posts.

3.1.1.2 Users shall be able to create artist posts.

3.1.1.3 Users shall be able to create song posts.

3.1.1.4 Users shall be able to create playlist posts.

3.1.2 Users shall be able to tag their posts with relevant tags for better discoverability.

3.2 Engagement

3.2.1 Users shall be able to like or dislike posts.

3.2.2 Users shall be able to comment on posts made by other users.

3.2.3 Users shall be able to view posts, likes, and comments made by themselves and other users.

4. Music Management and Recommendations

4.1 Music and Artist Recommendations

4.1.1 Users shall see music and artist recommendations based on the music or artist they are viewing.

4.2 Music Playback

4.1.2 Users shall be able to play music directly through embedded Spotify players within the platform.

5. Donation Management

5.1 Secure Donations

5.1.1 Users shall be able to securely donate to artists through the platform.

5.1.2 Users shall be able to enter their wallet addresses

6. Semantic Browsing

6.1 Genre and Style Search

6.1.1 Users shall be able to search for music categorized by genres and music styles.

6.2 User and Artist Search

6.2.1 Users shall be able to search for artists and other users to connect with them.

6.3 Advanced Filtering

6.3.1 Users shall be able to filter content based on categories (songs, artists, playlists, events, users ).

6.4 Tag and Popularity Filters

6.4.1 Users shall be able to apply advanced filters using tags and popularity metrics.

7. Accessibility

7.1 Screen Reader Compatibility

7.1.1 Users shall visually access and navigate all features independently with the platform to be compatible with screen reading software.

System Requirements

1. User Registration and Authentication

  • 1.1 The system shall securely store user registration information and authenticate users during login.
  • 1.2 The system shall allow users to reset their passwords securely.

2. User Profile Management

  • 2.1 The system shall maintain and update user profile information, including categories (listeners, artists, hobbyists).
  • 2.2 The system shall maintain a database of user relationships, tracking who follows whom and allowing retrieval of followers and following queries.

3. Content Creation and Interaction

  • 3.1 The system shall support the creation and publication of posts with text, images, links, and embedded Spotify playlists.
  • 3.2 The system shall enable users to tag posts with relevant tags.
  • 3.3 The system shall allow users to bookmark, like/dislike posts, and comment on posts.
  • 3.4 The system shall provide functionalities for users to share concert or similar event details in their posts.

4. Music Management and Recommendations

  • 4.1 The system shall provide music recommendations based on user preferences.
  • 4.2 The system shall provide Spotify embed for users to play music.

5. Donation Management

  • 5.1 The system shall implement a secure mechanism for users to donate to artists.

6. Playlist Sharing

  • 6.1 The system shall allow users share carefully crafted playlists with other users.
  • 6.2 The system shall enable embedding of playlists into posts for easy sharing.

7. Event Sharing

  • 7.1 The system shall provide functionalities for users with artist roles to create concerts.
  • 7.2 The system shall provide functionalities for users to share concert posts.

8. Semantic Browsing

  • 8.1 The system shall implement a search functionality categorized by genres and music styles.
  • 8.2 The system shall implement a search functionality for artists and users.
  • 8.3 The system shall feature advanced filtering based on user categories (listeners, artists, hobbyists).
  • 8.4 The system shall feature advanced filtering with tags, popularity, and user ratings.
Clone this wiki locally