This Django (educational) project presents simple (only with basic functionalities) API for YouTube platform
-
User Authentication (JWT Authentication)
- Profile
-
Channel (Full Support)
- Playlists
- Contents
- Comments
-
Copyrights (Half Support)
This project uses JWT Tokens for Authentication
BASE_URL/auth/register - to register (First Step)
BASE_URL/auth/login - to get token
App
Authenticationprovides basic functionalities for User control
- Login / Register
- Get / Update / Delete User Information
- Get User by ID
Admin requires!
User can create Channel for storing Contents
BASE_URL/apps/channels - to create Channel
BASE_URL/apps/channels/me - Control User's Channel
App
Applicationsprovides basic functionalities for User's Channel control andread-onlyother Channels
- Create / Update / Delete User's Channel Information
- Watch / Control Subscription to other Channels
Subscription can be done by the url
BASE_URL/channels/CODE/subscribe?undo=0
where parameter undo can undo subscription if it is set to 1
App
Contentprovides basic YouTube Content control and view
- Create / Update / Delete Content (Status, Playlist, Comment)
- View / Like (Dislike) / Save Content (Playlist)
BASE_URL/apps/contents - to create Content
BASE_URL/apps/contents/me - Control User's Contents
Urls for like / save - contents / playlists
BASE_URL/apps/contents/CODE/save?undo=0 - Save content to profile (undo=1 to undo)
BASE_URL/apps/contents/CODE/like?dislike=0&retract=0 -Like content (dislike=1 to dislike & retract=1 to retract)
BASE_URL/apps/playlists/CODE/save?undo=0 - Save playlist to profile (undo=1 to undo)
All saved contents / playlists can be found from url:
BASE_URL/auth/users/me/profile - Profile url
App
Additionalprovides Admin control of copyrights
At this moment have been released only two types of copyrights
- Game Copyright
- Song Copyright
All other features can be found in django project files
- additional (app)
- applications (app)
- authentication (app)
- content (app)
- tools
- media (local only)
- venv (local only)
- youtube (base)
- gitignore
- manage.py (start)
- README.md
- requirements.txt (packages)
Installation
python -m venv venvvenv\Scripts\activatepython -m pip install --upgrade pippip install -r requirements.txt