YouTube Geeks - One-stop platform to make learning from YouTube more productive [Linode + DEV Hackathon Project]
Tags: linodehackathon, django
Published: 2023-02-20 22:39:44

### Introduction
As a part of Linode + Dev Hackathon, I have built a full-stack Django Application that makes YouTube learning more _customized, organized and resourceful_. Some features of the application are - 

- Create custom learning modules
- Track your learning progress
- Create personal learning notes for every video
- Generate summary and transcript for every video in one click

### Inspiration
YouTube is a great platform and has a ton of educational content. For me personally, YouTube videos have been very helpful for gaining knowledge and learning new concepts. However, learning from YouTube might not be as organized and productive as compared to learning from a proper course on an educational website. Considering this problem, I tried to build a platform that can help users get the same experience and productivity that they might get by learning from other educational platforms.

### Description
- The paltform is integrated with a completed authentication system. Once the user create'a a new account or logs in, they are navigated to the dashboard, where they can see all the modules that they have created and also create a new module from the same page.
- For every module, the user can add any number of YouTube videos they wish.
- Once they navigate to a particular module page, they can track which videos they have watched and which they haven't
- Additionally, once they open a specific video in detail, they can watch the embedded YouTube video in the website itself and alongside take notes.
- Here, the user can also generate the summary and transcript of the youtube video by just clicking a button


### How I built it
- Used **Django** web framework for building the application
- Used **Bootstrap** framework for CSS
- Used **Linode's Managed Database service** for deploying the 
  PostgreSQL database
- Used **Linux server** for deploying the Django app
- Used python libraries - **youtube_transcript_api** and **pytube** for getting YouTube video details and transcript
- Additionally, Used **HuggingFace's transformers** library in Python to perform abstractive text summarization on the transcript obtained

# Learning Experience
- Overall, I had a great time working on this project. I had experience working with Python language before, but had never worked with Django Framework or HuggingFace transformers, so I got learn more about these while working on this project.
- This was also my first time working with Linode and I learnt about using Linode managed databases and deploying on Linux server.
- The documentation and YouTube videos related to Django on Linode's channel were also really helpful for me. 

### Category Submission
- **Integration Innovators** - Integrated the Django App with Linode Managed Database and used Linode to deploy my Django Application
- **SaaS Superstars** - I will continue working on this project to enhance UI, do further improvements and integrate additional features so that it can be launched as a full fledged project for users

### App Link
[Youtube Geeks](http://45.79.121.136:8000)

### Screenshots

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x2n11idbjb2ptk1mfumx.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b63n5ns63fm6sat30219.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8ygpdq1ukaioegnyxj9y.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y5a3rohrsx5c8fdxyc14.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gaom2ds3wa9h2ijh0a9m.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d5x4pqxzvhk52a5zae5g.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fdsu8z2smn01dnhmnlws.png)

### Demo Video
{% embed https://youtu.be/PJ2Tc8NGhvo %}

### Link to Source Code
Github Repository - https://github.com/drishtipeshwani/YoutubeGeeks

### Permissive License
MIT License