Functional requirements - yurkka23/iMusic_team GitHub Wiki

Overview

This section outlines the functional requirements for the project, detailing the expected features and behaviors of the system. These requirements are crucial as they define how the platform will operate, ensuring a seamless experience for both listeners and artists. Implementing these requirements in their entirety is essential for the success of the project.

User Registration and Authentication

  1. The system should provide the ability to register a new user and authenticate an existing one.
  2. Users should be able to recover their password.

Viewing Music Content

  1. Each user should be able to view recommended songs, top songs, new songs, categories, and playlists.
  2. The system should allow searching for songs by title, artist, or album.

User and Role Management

  1. Admins should be able to view, edit, or delete information about users, artists, and categories. They should also be able to block users.
  2. Users can submit a request to obtain the "Artist" role, which will be reviewed by the admin.
  3. Each user should be able to edit their personal information and delete their account.

Content Creation and Management

  1. Users with the "Artist" role should be able to add their songs and create albums.
  2. Users should be able to create playlists and add songs to them.
  3. Users should be able to view their favorite songs and albums.

Content Moderation

  1. Admins should be able to delete songs, albums, or playlists if they violate platform rules.

Admin Control Panel

  1. Admins should have access to an interface for viewing and managing users, songs, and categories.