| Users | type |
|---|---|
| id | Int |
| firstName | String (Max length: 30 chars) |
| lastName | String (Max length: 30 chars) |
| userName | String (Max length: 30 chars) |
| password | string (min length:6 chars) |
| verified | boolean |
| role | enum (admin,users,creators) |
| profileImage: | string |
| subscriptionPlan | enum (free, premium) |
| interests | enum (mandatory minimum 3) |
- Film
- Music
- Travel
- Gaming
- Comedy
- News and Politics
- Business
- Science and Tech
- Auto & Vehicles
- Spots
- Health
- People
- Entertainment
- Education
- Activism
- Nature
| usersLikes | type |
|---|---|
| id | int |
| episodes_id | int |
| user_id | int |
| userSubscriptions | type |
|---|---|
| id | int |
| podcast_id | int |
| user_id | Int |
| userFollows | type |
|---|---|
| id | int |
| creators_id | int |
| user_id | Int |
| Playlists | type |
|---|---|
| id | int |
| playlistName | String |
| user_id | int |
| playlist | string[] (length 30) |
| PasswordReset | type |
|---|---|
| id | int |
| users_id | int |
| createdAt | date |
| resetToken | string |
| trimedAudio | type |
|---|---|
| id | int |
| episodes_album | string |
| stratTime | time |
| endTime | time |
| trimedAudio | string (URL) |
- Users can update userName,profileImage, first Name,lastName,email,password. changes apply > after OTP
- User can add and delete playlists
- User can like,follow,unfollow,subscribe and unsubscribe. (creators,podcasts,episodes)
- User can trimed podcast audio and share on social media. if social media is facebook extension will be mp4.
- user will be notify on orderStatus, new products,newEpisodeUpload of a subscribed podcast
| Creators | type |
|---|---|
| id | int |
| user_name | string |
| description | string |
| storeAvailable | boolean |
| followers | JSON {total: Int, currentMonthCount: Int, currentMonth: August} |
- creators can check (total Follower, total streaming time, ranks on the basis of watch time, averageWatchTime, new Follower ,popularEpisodes)
- Creators can upload podcasts → After admin approval, it shows on users feeds.
- Creators can delete and edit podcast → After admin approval, changes stores.
| Podcast | type |
|---|---|
| id | int |
| title | string |
| description | string |
| creators_id | int |
| tags | string[] (length 8) |
| genres | enum |
| episodes | string [] |
| subscribed | count |
| Episodes | type |
|---|---|
| id | int |
| title | string |
| description | string |
| podcasts_id | int |
| createdAt | date |
| duration | time |
| podcastAudio | string (URL) |
1- Admin will Approved creator, product/podcast upload,product/podcast delete. 2- Admin will approved/reject creators request for store. 3- Only admin can update roles. 4- Admin Can Change creator Status (Active,block,pending) 5- podcast also available in Rss feeds
subscriber admin also a Creator Episodes Array playListArray
/register /login /otp /checkUsername
GET /users POST /users DELETE /users POST /users/change_password
GET /users/notifications POST /users/notifications/:notification_id
/podcasts; show default podcasts wrt interests /podcasts?keywords=genre or creator or tag or title GET /podcasts/:podcast_id POST /podcasts/:podcast_id DELETE /podcasts/:podcast_id
GET /podcasts/subscriptions POST /podcasts/:podcast_id/subscribe POST /postcasts/:podcast_id/unsubscribe
GET /podcasts/subscriptions GET /episodes/:episode_id POST /episodes/:episode_id DELETE /episodes/:episode_id GET /episodes/likes
POST /episodes/:episode_id/like POST /episodes/:episode_id/unlike
POST /users/playlists POST /users/playlists/:playlist_id #edit playlist ain't available from mockups DELETE /users/playlists/:playlist_id GET /users/playlists/:playlist_id
GET /creators/:creator_id POST /creators/:creator_id DELETE /creators/:creator_id
POST /creators/:creator_id/approve POST /creators/:creator_id/disapprove
POST /creators/:creator_id/follow POST /creators/:creator_id/unfollow