CourseOverflow

CourseOverflow

CourseOverflow

CourseOverflow is a web app that generates playlists by analysing PDF/TXT documents using the Google Gemini API, while YouTube API v3 is leveraged for playlist creation.

01

Problem Statement

Problem Statement

Problem Statement

Searching for individual videos on YouTube for exam preparation can be cumbersome. If only there were a way to upload a course handout and get a curated playlist tailored for exam preparation.

02

Solution

Solution

Solution

A web app that analyses course handouts or other academic files using AI, generating a YouTube playlist of videos to enhance exam preparation, all on the same platform.

03

Analysis

Analysis

Analysis

Tech Stack

  • Frontend: React with Tailwind CSS for flexibility and responsive design

  • Backend: Django for its out-of-the-box features for authentication, REST APIs, and integration with Python libraries for parsing PDFs

  • Database: PostgreSQL, fully supported by Django ORM

  • Caching: Redis for caching topics and reducing API token usage

Implementation

  • PDF content is parsed using Python’s pdf-parser library, extracting raw data

  • This data is sent to the Google Gemini API to generate relevant topics based on the document’s content

  • These topics are then searched on YouTube via the YouTube API v3

  • The app uses asynchronous requests to handle YouTube search queries efficiently

Security

  • Authentication with Google OAuth 2.0

  • Implementation of JWT for secure user sessions

  • CSRF tokens for protecting against cross-site request forgery

  • CORS (Cross-Origin Resource Sharing) settings configured to manage browser requests from different domains

04

Result

Result

Result

The final web application offers a user-friendly experience, allowing users to tailor their learning. By liking or disliking videos, users can receive better recommendations for future content. The bookmark feature provides the flexibility to learn at their own pace by saving videos for later viewing. Users can explore profiles to discover playlists from their favourite creators or friends, enhancing community learning. Additionally, the app includes a comment section, encouraging discussions and collaboration. An analytical dashboard gives users insights into their viewing habits, tracking progress and offering personalised metrics for better learning management.

Other Projects

Let's Talk

Let's Talk

Let's Talk