From c2d0a8eab823635092e5832dec145b5f92395831 Mon Sep 17 00:00:00 2001 From: SarthDhakade963 <168256083+SarthDhakade963@users.noreply.github.com> Date: Mon, 22 Sep 2025 09:29:06 +0530 Subject: [PATCH] Create README.md --- README.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..80a3bf0 --- /dev/null +++ b/README.md @@ -0,0 +1,25 @@ +# Podify 🎧 + +## Summary +Podify is a personalized podcast platform that recommends curated podcasts based on user-selected topics. It tracks user listening history, fetches relevant podcasts from YouTube, and ensures fresh daily content, enhancing the overall podcast listening experience. + +## Tech Stack +- **Frontend:** Next.js, React.js, TypeScript, Sass, NextAuth.js (OAuth) +- **Backend:** Java, Spring Boot, PostgreSQL (User & Topic Management), MongoDB (Podcasts Storage) +- **APIs & Tools:** YouTube Data API v3, REST APIs, Scheduled Tasks, OAuth Authentication + +## Features +- Personalized podcast recommendations per user +- Topic-based organization of podcasts +- Daily refresh of podcasts to keep content up-to-date +- Tracks watch history and progress per user +- Embedded video player for each podcast with smooth scroll and progress tracking +- OAuth login via Google for secure authentication + +## How It Works +1. Users select topics → preferences saved in PostgreSQL. +2. Backend fetches top podcasts for each topic from MongoDB. +3. If podcasts are missing or outdated, backend fetches new podcasts from YouTube and updates MongoDB. +4. Frontend displays personalized podcast lists dynamically. +5. Each podcast can be played directly via the embedded video player; progress is tracked and synced to backend. +6. Scheduled daily refresh ensures fresh and relevant content while preserving user watch history.