Update features and integrate all code into vite

This commit is contained in:
Cesar Mendivil 2025-11-03 10:28:50 -07:00
parent cc7702686e
commit a795d1ad9f
262 changed files with 16806 additions and 8248 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

65
.env.example Normal file
View File

@ -0,0 +1,65 @@
# =============================================================================
# AVANZACAST - ENVIRONMENT VARIABLES EXAMPLE
# =============================================================================
# =============================================================================
# APPLICATION CONFIGURATION
# =============================================================================
NEXTAUTH_SECRET=your-nextauth-secret-key-here
NEXTAUTH_URL=http://localhost:3000
# =============================================================================
# LIVEKIT CONFIGURATION
# =============================================================================
LIVEKIT_API_KEY=devkey
LIVEKIT_API_SECRET=secretsecretsecretsecretsecretsecret
# URL pointing to the LiveKit server. (example: `wss://my-livekit-project.livekit.cloud`)
LIVEKIT_URL=wss://livekit-server.bfzqqk.easypanel.host
# =============================================================================
# REDIS CONFIGURATION
# =============================================================================
MEET_REDIS_HOST=192.168.1.19
MEET_REDIS_PORT=6379
MEET_REDIS_PASSWORD=redispassword
# =============================================================================
# S3/MINIO CONFIGURATION
# =============================================================================
MEET_BLOB_STORAGE_MODE=s3
MEET_S3_SERVICE_ENDPOINT=http://192.168.1.19:9000
MEET_S3_ACCESS_KEY=minioadmin
MEET_S3_SECRET_KEY=minioadmin
MEET_S3_BUCKET=openvidu-appdata
MEET_S3_WITH_PATH_STYLE_ACCESS=true
# =============================================================================
# DATABASE CONFIGURATION
# =============================================================================
# PostgreSQL Database
DATABASE_URL=postgresql://username:password@localhost:5432/avanzacast
# =============================================================================
# STREAMING PLATFORMS CONFIGURATION
# =============================================================================
# YouTube API
YOUTUBE_CLIENT_ID=your-youtube-client-id
YOUTUBE_CLIENT_SECRET=your-youtube-client-secret
# Facebook API
FACEBOOK_APP_ID=your-facebook-app-id
FACEBOOK_APP_SECRET=your-facebook-app-secret
# Twitch API
TWITCH_CLIENT_ID=your-twitch-client-id
TWITCH_CLIENT_SECRET=your-twitch-client-secret
# LinkedIn API
LINKEDIN_CLIENT_ID=your-linkedin-client-id
LINKEDIN_CLIENT_SECRET=your-linkedin-client-secret
# =============================================================================
# DEVELOPMENT/PRODUCTION SETTINGS
# =============================================================================
NODE_ENV=development
NEXT_PUBLIC_APP_URL=http://localhost:3000

47
.env.local Normal file
View File

@ -0,0 +1,47 @@
# =============================================================================
# AVANZACAST - LOCAL DEVELOPMENT ENVIRONMENT
# =============================================================================
# =============================================================================
# APPLICATION CONFIGURATION
# =============================================================================
NEXTAUTH_SECRET=dev-secret-key-for-local-development-only
NEXTAUTH_URL=http://localhost:3000
# =============================================================================
# LIVEKIT CONFIGURATION
# =============================================================================
LIVEKIT_API_KEY=devkey
LIVEKIT_API_SECRET=secretsecretsecretsecretsecretsecret
LIVEKIT_URL=wss://livekit-server.bfzqqk.easypanel.host
# Public environment variables (accessible from client-side)
NEXT_PUBLIC_LIVEKIT_URL=wss://livekit-server.bfzqqk.easypanel.host
# =============================================================================
# REDIS CONFIGURATION
# =============================================================================
MEET_REDIS_HOST=192.168.1.19
MEET_REDIS_PORT=6379
MEET_REDIS_PASSWORD=redispassword
# =============================================================================
# S3/MINIO CONFIGURATION
# =============================================================================
MEET_BLOB_STORAGE_MODE=s3
MEET_S3_SERVICE_ENDPOINT=http://192.168.1.19:9000
MEET_S3_ACCESS_KEY=minioadmin
MEET_S3_SECRET_KEY=minioadmin
MEET_S3_BUCKET=openvidu-appdata
MEET_S3_WITH_PATH_STYLE_ACCESS=true
# =============================================================================
# DATABASE CONFIGURATION
# =============================================================================
DATABASE_URL=postgresql://avanzacast:password@localhost:5432/avanzacast_dev
# =============================================================================
# DEVELOPMENT SETTINGS
# =============================================================================
NODE_ENV=development
NEXT_PUBLIC_APP_URL=http://localhost:3000

View File

@ -25,7 +25,7 @@ AvanzaCast es una plataforma de streaming en vivo similar a StreamYard que permi
src/ src/
├── app/ # App Router (Next.js 13+) ├── app/ # App Router (Next.js 13+)
│ ├── auth/ # Páginas de autenticación │ ├── auth/ # Páginas de autenticación
│ ├── dashboard/ # Dashboard de usuario │ ├── broadcasts/ # Panel de Transmisiones (antes dashboard)
│ ├── studio/ # Estudio virtual de streaming │ ├── studio/ # Estudio virtual de streaming
│ ├── layout.tsx # Layout principal │ ├── layout.tsx # Layout principal
│ ├── page.tsx # Página de inicio │ ├── page.tsx # Página de inicio

45
.gitignore vendored
View File

@ -1,44 +1,3 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. node_modules/
dist/
# dependencies
/node_modules
/.pnp
.pnp.js
.yarn/install-state.gz
# testing
/coverage
# next.js
/.next/
/out/
# production
/build
# misc
.DS_Store
*.pem
# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# local env files
.env*.local
.env .env
# vercel
.vercel
# typescript
*.tsbuildinfo
next-env.d.ts
# IDE
.vscode/
.idea/
# OS
Thumbs.db

View File

@ -0,0 +1,102 @@
{
"pages": {
"/_not-found/page": [
"static/chunks/webpack-47455e69b614e04d.js",
"static/chunks/4bd1b696-c023c6e3521b1417.js",
"static/chunks/255-40634877ae3e8e9d.js",
"static/chunks/main-app-30b45b6b07ead2e8.js",
"static/chunks/app/_not-found/page-fc564b58c95850d5.js"
],
"/layout": [
"static/chunks/webpack-47455e69b614e04d.js",
"static/chunks/4bd1b696-c023c6e3521b1417.js",
"static/chunks/255-40634877ae3e8e9d.js",
"static/chunks/main-app-30b45b6b07ead2e8.js",
"static/css/05d8fd0c0109151a.css",
"static/chunks/app/layout-fb67c1a4b6d3c07b.js"
],
"/api/chat/route": [
"static/chunks/webpack-47455e69b614e04d.js",
"static/chunks/4bd1b696-c023c6e3521b1417.js",
"static/chunks/255-40634877ae3e8e9d.js",
"static/chunks/main-app-30b45b6b07ead2e8.js",
"static/chunks/app/api/chat/route-246f348baf033bdc.js"
],
"/api/livekit/rooms/route": [
"static/chunks/webpack-47455e69b614e04d.js",
"static/chunks/4bd1b696-c023c6e3521b1417.js",
"static/chunks/255-40634877ae3e8e9d.js",
"static/chunks/main-app-30b45b6b07ead2e8.js",
"static/chunks/app/api/livekit/rooms/route-246f348baf033bdc.js"
],
"/api/storage/route": [
"static/chunks/webpack-47455e69b614e04d.js",
"static/chunks/4bd1b696-c023c6e3521b1417.js",
"static/chunks/255-40634877ae3e8e9d.js",
"static/chunks/main-app-30b45b6b07ead2e8.js",
"static/chunks/app/api/storage/route-246f348baf033bdc.js"
],
"/api/livekit/token/route": [
"static/chunks/webpack-47455e69b614e04d.js",
"static/chunks/4bd1b696-c023c6e3521b1417.js",
"static/chunks/255-40634877ae3e8e9d.js",
"static/chunks/main-app-30b45b6b07ead2e8.js",
"static/chunks/app/api/livekit/token/route-246f348baf033bdc.js"
],
"/page": [
"static/chunks/webpack-47455e69b614e04d.js",
"static/chunks/4bd1b696-c023c6e3521b1417.js",
"static/chunks/255-40634877ae3e8e9d.js",
"static/chunks/main-app-30b45b6b07ead2e8.js",
"static/chunks/619-ba102abea3e3d0e4.js",
"static/chunks/239-640162831b5f60b2.js",
"static/chunks/app/page-a7ef32a08e56853f.js"
],
"/studio/page": [
"static/chunks/webpack-47455e69b614e04d.js",
"static/chunks/4bd1b696-c023c6e3521b1417.js",
"static/chunks/255-40634877ae3e8e9d.js",
"static/chunks/main-app-30b45b6b07ead2e8.js",
"static/chunks/app/studio/page-a8eab73b4f623172.js"
],
"/(protected)/layout": [
"static/chunks/webpack-47455e69b614e04d.js",
"static/chunks/4bd1b696-c023c6e3521b1417.js",
"static/chunks/255-40634877ae3e8e9d.js",
"static/chunks/main-app-30b45b6b07ead2e8.js",
"static/chunks/619-ba102abea3e3d0e4.js",
"static/chunks/app/(protected)/layout-87446f5287aaff08.js"
],
"/(protected)/dashboard/page": [
"static/chunks/webpack-47455e69b614e04d.js",
"static/chunks/4bd1b696-c023c6e3521b1417.js",
"static/chunks/255-40634877ae3e8e9d.js",
"static/chunks/main-app-30b45b6b07ead2e8.js",
"static/chunks/619-ba102abea3e3d0e4.js",
"static/chunks/app/(protected)/dashboard/page-64317fcbd8cea1d2.js"
],
"/(public)/layout": [
"static/chunks/webpack-47455e69b614e04d.js",
"static/chunks/4bd1b696-c023c6e3521b1417.js",
"static/chunks/255-40634877ae3e8e9d.js",
"static/chunks/main-app-30b45b6b07ead2e8.js",
"static/chunks/app/(public)/layout-246f348baf033bdc.js"
],
"/(public)/auth/login/page": [
"static/chunks/webpack-47455e69b614e04d.js",
"static/chunks/4bd1b696-c023c6e3521b1417.js",
"static/chunks/255-40634877ae3e8e9d.js",
"static/chunks/main-app-30b45b6b07ead2e8.js",
"static/chunks/619-ba102abea3e3d0e4.js",
"static/chunks/app/(public)/auth/login/page-9595b634e8180628.js"
],
"/(public)/auth/register/page": [
"static/chunks/webpack-47455e69b614e04d.js",
"static/chunks/4bd1b696-c023c6e3521b1417.js",
"static/chunks/255-40634877ae3e8e9d.js",
"static/chunks/main-app-30b45b6b07ead2e8.js",
"static/chunks/619-ba102abea3e3d0e4.js",
"static/chunks/app/(public)/auth/register/page-01cdf1ebd693c7e4.js"
]
}
}

33
.next/build-manifest.json Normal file
View File

@ -0,0 +1,33 @@
{
"polyfillFiles": [
"static/chunks/polyfills-42372ed130431b0a.js"
],
"devFiles": [],
"ampDevFiles": [],
"lowPriorityFiles": [
"static/n56Omj8gmP3MNvGLgRPve/_buildManifest.js",
"static/n56Omj8gmP3MNvGLgRPve/_ssgManifest.js"
],
"rootMainFiles": [
"static/chunks/webpack-47455e69b614e04d.js",
"static/chunks/4bd1b696-c023c6e3521b1417.js",
"static/chunks/255-40634877ae3e8e9d.js",
"static/chunks/main-app-30b45b6b07ead2e8.js"
],
"rootMainFilesTree": {},
"pages": {
"/_app": [
"static/chunks/webpack-47455e69b614e04d.js",
"static/chunks/framework-a6e0b7e30f98059a.js",
"static/chunks/main-250c5bd30de1c093.js",
"static/chunks/pages/_app-7d307437aca18ad4.js"
],
"/_error": [
"static/chunks/webpack-47455e69b614e04d.js",
"static/chunks/framework-a6e0b7e30f98059a.js",
"static/chunks/main-250c5bd30de1c093.js",
"static/chunks/pages/_error-cb2a52f75f2162e2.js"
]
},
"ampFirstPages": []
}

1
.next/cache/.previewinfo vendored Normal file
View File

@ -0,0 +1 @@
{"previewModeId":"44518be9435ac47235ab9ac21b7d9241","previewModeSigningKey":"22e7bbb58d915e574e1b58732a47873203a296515ea192afb305af85c9c9748a","previewModeEncryptionKey":"7475ab593740a6533e661c8997b94162948ac37f7c112faf96fe3f4741ab89f5","expireAt":1763272720572}

1
.next/cache/.rscinfo vendored Normal file
View File

@ -0,0 +1 @@
{"encryption.key":"+/DkBDGulftPjgQXkZWuQ5us8GKmhtTJGQO0V7KjsgY=","encryption.expire_at":1763272720429}

1
.next/cache/.tsbuildinfo vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
7bf669c4-7f69-4dee-a55b-617501015189

1
.next/cache/eslint/.cache_56cfwa vendored Normal file

File diff suppressed because one or more lines are too long

1
.next/cache/next-devtools-config.json vendored Normal file
View File

@ -0,0 +1 @@
{}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,6 @@
{
"buildStage": "type-checking",
"buildOptions": {
"useBuildWorker": "true"
}
}

View File

@ -0,0 +1 @@
{"name":"Next.js","version":"15.5.3"}

1
.next/package.json Normal file
View File

@ -0,0 +1 @@
{"type": "commonjs"}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1,13 @@
{
"/_not-found/page": "app/_not-found/page.js",
"/api/chat/route": "app/api/chat/route.js",
"/api/livekit/rooms/route": "app/api/livekit/rooms/route.js",
"/api/storage/route": "app/api/storage/route.js",
"/api/livekit/token/route": "app/api/livekit/token/route.js",
"/page": "app/page.js",
"/studio/page": "app/studio/page.js",
"/(protected)/dashboard/page": "app/(protected)/dashboard/page.js",
"/(public)/auth/login/page": "app/(public)/auth/login/page.js",
"/(public)/page": "app/(public)/page.js",
"/(public)/auth/register/page": "app/(public)/auth/register/page.js"
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":1,"files":["../../../webpack-runtime.js","../../../chunks/586.js","../../../chunks/851.js","../../../chunks/991.js","../../../chunks/348.js","page_client-reference-manifest.js"]}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":1,"files":["../../../../webpack-runtime.js","../../../../chunks/586.js","../../../../chunks/851.js","../../../../chunks/991.js","../../../../chunks/348.js","page_client-reference-manifest.js"]}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":1,"files":["../../../../webpack-runtime.js","../../../../chunks/586.js","../../../../chunks/851.js","../../../../chunks/991.js","../../../../chunks/348.js","page_client-reference-manifest.js"]}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":1,"files":["../../webpack-runtime.js","../../chunks/586.js","../../chunks/851.js","../../chunks/991.js","../../chunks/515.js","../../chunks/8.js","page_client-reference-manifest.js","../../../../package.json"]}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":1,"files":["../../webpack-runtime.js","../../chunks/586.js","../../chunks/851.js","page_client-reference-manifest.js"]}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More