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
Authentication
provides 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
Applications
provides basic functionalities for User's Channel control andread-only
other 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
Content
provides 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
Additional
provides 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 venv
venv\Scripts\activate
python -m pip install --upgrade pip
pip install -r requirements.txt