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