Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
449d5e9
Added client and server workflows for Github Actions
SarthDhakade963 Aug 28, 2025
343dec3
feat: added next-auth login
SarthDhakade963 Aug 29, 2025
bb1b62e
feat: implement home and auth page
SarthDhakade963 Aug 29, 2025
acc5f14
feat: Implement full Google OAuth authentication and authorization
SarthDhakade963 Sep 1, 2025
5bc417e
feat: add topic selection page with dashboard redirection
SarthDhakade963 Sep 3, 2025
49cf496
chore: stop tracking application.properties
SarthDhakade963 Sep 3, 2025
94ef508
added .gitignore folder
SarthDhakade963 Sep 3, 2025
a6b5481
feat: implement MongoDB storage and repository for Podcasts
SarthDhakade963 Sep 4, 2025
05177d5
feat: Implement the podcast fetching and viewing
SarthDhakade963 Sep 5, 2025
f291b58
feat: implement fully functional podcast dashboard prototype
SarthDhakade963 Sep 5, 2025
f058abc
feat(playlist): implement server-side playlist manangement
SarthDhakade963 Sep 6, 2025
f513c2c
feat(playlists): implement client side playlist UI with sidebar
SarthDhakade963 Sep 6, 2025
1c11eb9
feat(playlist): implement whole playlist management with add/remove f…
SarthDhakade963 Sep 7, 2025
7e4b80d
feat(history): implement server side watch-history
SarthDhakade963 Sep 7, 2025
f581bbb
feat(history): implement client side history page with topic-based na…
SarthDhakade963 Sep 8, 2025
1c61e2b
feat(yt-api): refine fetch search URL, limit to 3 podcasts, prefetch …
SarthDhakade963 Sep 8, 2025
dd17747
feat(recommendation): implement topic-based recommendation system
SarthDhakade963 Sep 8, 2025
0b20416
feat(recommendations): implement personalized podcasts recommendation…
SarthDhakade963 Sep 8, 2025
8a37218
fix some issue
SarthDhakade963 Sep 8, 2025
caa9dd5
implement github workflows
SarthDhakade963 Sep 9, 2025
0cbf738
fix(error): added id in topic page
SarthDhakade963 Sep 9, 2025
a3d4f1d
chore: added the dummy env files for client and server
SarthDhakade963 Sep 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions .github/workflows/backend-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Backend CI - Dev

on:
push:
branches: ["dev"]
pull_request:
branches: ["dev"]

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout repo
uses: actions/checkout@v3

- name: Set up JDK 22
uses: actions/setup-java@v3
with:
java-version: 22
distribution: temurin

- name: Cache Maven packages
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-

- name: Build & Test with Maven
run: mvn clean install -DskipTests
working-directory: ./server

- name: Upload JAR Artifact
uses: actions/upload-artifact@v4
with:
name: backend-jar
path: ./server/target/*.jar
42 changes: 42 additions & 0 deletions .github/workflows/backend-prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Backend CI - Prod

on:
push:
branches: ["main"]
pull_request:
branches: ["main"]

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout repo
uses: actions/checkout@v3

- name: Set up JDK 22
uses: actions/setup-java@v3
with:
java-version: 22
distribution: temurin

- name: Cache Maven packages
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-

- name: Build & Test with Maven
run: mvn clean install -DskipTests
working-directory: ./server

- name: Upload JAR Artifact
uses: actions/upload-artifact@v4
with:
name: backend-jar
path: ./server/target/*.jar

- name: Deploy to Production
run: echo "🚀 Deploying backend to production..."
39 changes: 39 additions & 0 deletions .github/workflows/backend-staging.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Backend CI - Staging

on:
push:
branches: ["staged"]
pull_request:
branches: ["staged"]

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout repo
uses: actions/checkout@v3

- name: Set up JDK 22
uses: actions/setup-java@v3
with:
java-version: 22
distribution: temurin

- name: Cache Maven packages
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-

- name: Build & Test with Maven
run: mvn clean install -DskipTests
working-directory: ./server

- name: Upload JAR Artifact
uses: actions/upload-artifact@v4
with:
name: backend-jar
path: ./server/target/*.jar
57 changes: 57 additions & 0 deletions .github/workflows/frontend-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Frontend CI - Dev

on:
push:
branches: ["dev"]
pull_request:
branches: ["dev"]

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20

- name: Cache node modules
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-

- name: Install dependencies
run: npm install --legacy-peer-deps
working-directory: ./client

- name: Build Next.js app
run: npm run build
working-directory: ./client

# To ensure code quality and catch bugs before merging:
- name: Run Linter
run: npm run lint
working-directory: ./client

- name: Run TypeScript check
run: npm run type-check
working-directory: ./client
if: success()

- name: Run Tests
run: npm test -- --watchAll=false
working-directory: ./client

- name: Upload build artifact
if: success()
uses: actions/upload-artifact@v4
with:
name: client-build
path: ./client/.next
50 changes: 50 additions & 0 deletions .github/workflows/frontend-prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Frontend CI - Prod

on:
push:
branches: ["main"]
pull_request:
branches: ["main"]

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20

- name: Cache node modules
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-

- name: Install dependencies
run: npm install --legacy-peer-deps
working-directory: ./client

- name: Build Next.js app
run: npm run build
working-directory: ./client

- name: Run Linter
run: npm run lint
working-directory: ./client

- name: Run Tests
run: npm test -- --watchAll=false
working-directory: ./client

- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: client-build
path: ./client/.next
50 changes: 50 additions & 0 deletions .github/workflows/frontend-staging.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Frontend CI - Staging

on:
push:
branches: ["staged"]
pull_request:
branches: ["staged"]

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20

- name: Cache node modules
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-

- name: Install dependencies
run: npm install --legacy-peer-deps
working-directory: ./client

- name: Build Next.js app
run: npm run build
working-directory: ./client

- name: Run Linter
run: npm run lint
working-directory: ./client

- name: Run Tests
run: npm test -- --watchAll=false
working-directory: ./client

- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: client-build
path: ./client/.next
75 changes: 75 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
####################################
# OS-specific
####################################
.DS_Store
Thumbs.db

####################################
# IDEs & Editors
####################################
.idea/
*.iml
*.ipr
*.iws
.vscode/

####################################
# Environment & Security Files
####################################
client/.env
.env.local
.env.development.local
.env.test.local
.env.production.local
application.properties
application.yml
application-*.properties
application-*.yml

####################################
# Logs
####################################
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*

####################################
# Java / Spring Boot
####################################
# Maven
target/
!.mvn/wrapper/maven-wrapper.jar
.mvn/wrapper/maven-wrapper.properties
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties

# Gradle (if used)
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar

# Compiled class & packages
*.class
*.jar
*.war
*.ear

####################################
# Node.js / Next.js
####################################
node_modules/
.next/
out/

# TypeScript cache
*.tsbuildinfo

application.properties
application.yml

server/src/main/resources/application.properties
1 change: 0 additions & 1 deletion client
Submodule client deleted from 0b9025
9 changes: 9 additions & 0 deletions client/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Google oAuth Login
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-client-secret

NEXTAUTH_URL=your-frontend-url

NEXT_PUBLIC_SPRING_BASE_URL=http://your-backend-url/api

NEXTAUTH_SECRET = your-secret-key
Loading
Loading