- CodinGame is an Online Coding Platform that allows a user to Sign Up, Create Contests and participate in Contests hosted by Others.
- Each contest can have a level (LOW, MEDIUM, HIGH) and will contain a set of questions.
- Each question will have different levels of difficulty (LOW, MEDIUM, HIGH) and score.
- Based on the contest level, the question set is going to be decided. Contest level with LOW difficulty will have questions with LOW difficulty level.
- Final score will be decided based on the difficulty LEVEL chosen for a contest and the number of questions.
- Users solve problems and get points based on the difficulty of the problems and after the contest, scores of the users are updated. Credits: Flipkart Interview
Functional Requirements
- A user can create a playlist from a pool of available songs.
- A user can delete a playlist.
- A user can add / delete songs from the playlist.
- A user can start playing songs by choosing a playlist. On choosing a playlist, the first song in the playlist will start playing.
- A user can switch songs by using Next, Back command or by choosing another song from the playlist that has been chosen.
- On reaching the end, Next will switch to the first song in the current playlist.
- On reaching the start, Back will switch to the last song in the playlist.
- Only one song can be played at a time.
- A user can choose to play the song from another playlist if and only if that playlist is selected. Basically two operations have to be done to successfully play the song of their choice.
- Select the playlist ( which will play the first song when selected )
- Choose the song of your choice.
- An album is a collection of songs owned by the original artist / artist group . Artist Group Example:- One Direction. One Direction Group is the album owner and is considered as an artist.
- Each song can feature multiple artists but it will be owned by the artist whose album this song belongs to.
- Each song can only be a part of one album.