Skip to content

Welcome to WayBack, your ultimate destination for fetching and exploring the latest YouTube videos effortlessly. Whether you're looking for a tool to keep you updated on trending videos or seeking to dive deep into the YouTube content pool, WayBack has got you covered.

Notifications You must be signed in to change notification settings

docflex/Way-Back

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WayBack's Logo


Notion DevLog made-by-rehber license

πŸ“‹ Project Overview

🌐 Introducing WayBack: Your Gateway to the Latest YouTube Videos πŸš€

In a digital era flooded with video content, WayBack stands as a solution to streamline your YouTube video discovery experience. Designed to offer the freshest videos based on your interests, it provides a user-friendly API that fetches and presents videos in reverse chronological order. πŸŽ₯πŸ” Our mission is to offer you a seamless way to explore the latest video content while ensuring scalability and optimization. πŸš€

Embark on a journey of discovery with WayBack! Dive into the world of YouTube videos like never before. πŸŒŸπŸ“Ί

πŸ”‘ Key Features

  • πŸ•΅οΈβ€β™‚οΈ Intelligent Video Fetching: WayBack's API continuously retrieves the latest YouTube videos based on your chosen tag/search query, ensuring you never miss out on new content. β°πŸ”Ž

  • πŸ“… Reverse Chronological Sorting: Videos are displayed in reverse chronological order of their publishing date-time, offering you the most recent content first. πŸ“†πŸ”

  • 🎬 Rich Video Metadata: The API collects essential video data such as title, description, publishing datetime, thumbnail URLs, and more, enhancing your viewing experience. πŸ“πŸ–ΌοΈ

  • πŸš€ Scalability and Performance: WayBack's architecture is designed for scalability and optimization, guaranteeing a smooth experience as the user base grows. βš™οΈπŸ“ˆ

πŸ”Œ Technology Stack

  • Django REST Framework: WayBack is built on top of the powerful Django framework, augmented with the REST Framework to create a robust API-driven application. 🐍🌐

  • SQLite Database: The SQLite relational database ensures data integrity while handling video storage and retrieval efficiently. πŸ—ƒοΈπŸ”’

  • Dockerization: WayBack is Dockerized, allowing for easy deployment and management, ensuring consistency across different environments. πŸ³πŸš€

  • Python Requests Library: The Python Requests library facilitates API calls to retrieve YouTube video data seamlessly. πŸ“‘πŸ”—

  • RESTful API: WayBack's API follows RESTful principles, offering a well-structured and user-friendly interface for video retrieval. πŸ”ŒπŸ“„

Discover a new way to explore YouTube videos with WayBack! Unveil the latest content and dive into a world of seamless video discovery. 🌟πŸŽ₯πŸ”

πŸ› οΈ Technologies Used


Python Django DjangoREST SQLite Docker


πŸƒβ€β™‚οΈRunning The Project

Dive into the exciting world of WayBack's DevLog! πŸš€ Embark on a journey through the creation of a cutting-edge API for fetching YouTube videos and relive the process from inception to reality. Join us as we delve into the challenges, triumphs, and pivotal moments that define the development process. Don't miss out on this captivating narrative – explore the DevLog now and stay tuned for intriguing updates! πŸ“–πŸŒŸ WayBack's DevLog

Step 1: Cloning the Repository πŸ“₯

git clone https://github.com/docflex/way-back

Step 2: Creating a Virtual Environment 🌐

The reason why we do this is explained in the DevLog Mentioned Above. Please Check it out for a Deeper Dive into this Project.

python3 -m venv venv

Next, You will be needing to switch to the Virtual Environment. To do so, Run:

source venv/bin/activate

Step 3: Installing the Dependencies πŸ“¦

pip install -r backend/requirements.txt

Step 4: Fixing Environment Variables πŸ”§

cp env.template .env

Step 5: Make Migrations πŸ—‚οΈ

cd backend

python3 manage.py makemigrations

python3 manage.py migrate

Step 6: Run Server πŸš€

python3 manage.py runserver     

Step 7: Test Endpoints πŸ§ͺ

Testing the videos Endpoint:

curl http://127.0.0.1:8000/videos/

Step 8: Checking Database πŸ—ƒοΈ

Open the Shell to Interact with the Database

python3 manage.py shell

To query all the data in the database run:

from youtubeScrapper.models import YouTubeVideo

# Fetch all YouTube videos from the database
videos = YouTubeVideo.objects.all()

# Print selected attributes of each video
for video in videos:
    print(f"Video ID: {video.video_id}")
    print(f"Title: {video.title}")
    # Print other attributes as needed
    print("\n")  # Add a newline for separation

Step 9: Running Persistent Periodic Fetching

python3 persistFetch.py

About

Welcome to WayBack, your ultimate destination for fetching and exploring the latest YouTube videos effortlessly. Whether you're looking for a tool to keep you updated on trending videos or seeking to dive deep into the YouTube content pool, WayBack has got you covered.

Topics

Resources

Stars

Watchers

Forks