YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
HEAD
title: Video Recommendation emoji: π₯ colorFrom: blue colorTo: green sdk: gradio sdk_version: "5.47.1" app_file: frontend_app.py pinned: false
π₯ Video Recommendation System
This is a simple AI/ML-powered video recommendation engine built with FastAPI + SQLite for backend and Gradio for frontend.
Deployed on Hugging Face Spaces.
Video Recommendation Engine
A sophisticated recommendation system that suggests personalized video content based on user preferences and engagement patterns using deep neural networks. Ref: to see what kind of motivational content you have to recommend, take reference from our Empowerverse App ANDROID || iOS. 96776b6d (update: add recommendation assignmnet)
π― Project Overview
This project implements a video recommendation algorithm that:
- Delivers personalized content recommendations
- Handles cold start problems using mood-based recommendations
- Utilizes Graph/Deep neural networks for content analysis
- Integrates with external APIs for data collection
- Implements efficient data caching and pagination
π οΈ Technology Stack
- Backend Framework: FastAPI
- Documentation: Swagger/OpenAPI
π Prerequisites
- Virtual environment (recommended)
π Getting Started
Clone the Repository
git clone https://github.com/Tim-Alpha/video-recommendation-assignment.gitcd video-recommendation-engineSet Up Virtual Environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activateInstall Dependencies
pip install -r requirements.txtConfigure Environment Variables Create a
.envfile in the root directory:FLIC_TOKEN=your_flic_token API_BASE_URL=https://api.socialverseapp.comRun Database Migrations
alembic upgrade headStart the Server
uvicorn app.main:app --reload
π API Endpoints
Recommendation Endpoints Has to Build
Get Personalized Feed
GET /feed?username={username}Returns personalized video recommendations for a specific user.
Get Category-based Feed
GET /feed?username={username}&project_code={project_code}Returns category-specific video recommendations for a user.
Data Collection Endpoints (Internal Use)
APIs for data collection:
APIs
Get All Viewed Posts (METHOD: GET):
https://api.socialverseapp.com/posts/view?page=1&page_size=1000&resonance_algorithm=resonance_algorithm_cjsvervb7dbhss8bdrj89s44jfjdbsjd0xnjkbvuire8zcjwerui3njfbvsujc5ifGet All Liked Posts (METHOD: GET):
https://api.socialverseapp.com/posts/like?page=1&page_size=1000&resonance_algorithm=resonance_algorithm_cjsvervb7dbhss8bdrj89s44jfjdbsjd0xnjkbvuire8zcjwerui3njfbvsujc5ifGet All Inspired posts (METHOD: GET):
{{base_url}}/posts/inspire?page=1&page_size=1000&resonance_algorithm=resonance_algorithm_cjsvervb7dbhss8bdrj89s44jfjdbsjd0xnjkbvuire8zcjwerui3njfbvsujc5ifGet All Rated posts (METHOD: GET):
https://api.socialverseapp.com/posts/rating?page=1&page_size=1000&resonance_algorithm=resonance_algorithm_cjsvervb7dbhss8bdrj89s44jfjdbsjd0xnjkbvuire8zcjwerui3njfbvsujc5ifGet All Posts (Header required*) (METHOD: GET):
https://api.socialverseapp.com/posts/summary/get?page=1&page_size=1000Get All Users (Header required*) (METHOD: GET):
https://api.socialverseapp.com/users/get_all?page=1&page_size=1000
Authorization
For autherization pass Flic-Token as header in the API request:
Header:
"Flic-Token": "flic_11d3da28e403d182c36a3530453e290add87d0b4a40ee50f17611f180d47956f"
Note: All external API calls require the Flic-Token header:
π Submission Requirements
GitHub Repository
- Submit a merge request from your fork or cloned repository.
- Include a complete Postman collection demonstrating your API endpoints.
- Add a docs folder explaining how your recommendation system works.
Video Submission
- Introduction Video (30β40 seconds)
- A short personal introduction (with face-cam).
- Technical Demo (3β5 minutes)
- Live demonstration of the APIs using Postman.
- Brief overview of the project. Video Submission
- Introduction Video (30β40 seconds)
Notification
- Join the Telegram group: Video Recommendation
- Notify upon completion
β Evaluation Checklist
- All APIs are functional
- Database migrations work correctly
- README is complete and clear
- Postman collection is included
- Videos are submitted
- Code is well-documented
- Implementation handles edge cases
- Proper error handling is implemented