Una aplicación potenciada por IA que genera automáticamente líneas de tiempo y resúmenes de videos de YouTube, facilitando la navegación y comprensión del contenido.
- Análisis de Video con IA: Genera líneas de tiempo y resúmenes de videos de YouTube
- Autenticación de Usuarios: Inicio de sesión seguro con email/contraseña, Google y GitHub
- Rutas Protegidas: Control de acceso basado en roles para diferentes secciones
- Diseño Responsivo: Funciona en dispositivos de escritorio y móviles
- Modo Oscuro/Claro: Elige tu tema preferido
- Frontend: Next.js 15, React 19, Tailwind CSS, Shadcn UI
- Backend: Rutas API de Next.js, Server Actions
- Autenticación: Auth.js (NextAuth) v5
- Base de Datos: PostgreSQL con Prisma ORM
- Integración de IA: Google AI SDK
- Estilos: Tailwind CSS con animaciones
- Node.js 18+
- Base de datos PostgreSQL
- Credenciales de API de Google (para funciones de IA)
- Credenciales OAuth (para inicio de sesión social)
- Clona el repositorio:
git clone https://github.com/tunombre/YouTube-Generator-Timeline-AI.git
cd YouTube-Generator-Timeline-AI- Instala las dependencias:
npm install- Configura las variables de entorno:
Crea un archivo
.enven el directorio raíz con las siguientes variables:
# Base de datos
DATABASE_URL="postgresql://username:password@localhost:5432/youtube_timeline_ai"
# Autenticación
AUTH_SECRET="tu-secreto-de-autenticacion"
GITHUB_CLIENT_ID="tu-github-client-id"
GITHUB_CLIENT_SECRET="tu-github-client-secret"
GOOGLE_CLIENT_ID="tu-google-client-id"
GOOGLE_CLIENT_SECRET="tu-google-client-secret"
# Google AI API
GOOGLE_AI_API_KEY="tu-clave-de-api-de-google-ai"
- Configura la base de datos:
npx prisma migrate dev- Ejecuta el servidor de desarrollo:
npm run dev- Abre http://localhost:3000 en tu navegador para ver la aplicación.
- /app: Rutas principales de Next.js
- (public): Rutas accesibles sin autenticación
/about: Página de información del proyecto
- (protected): Rutas que requieren autenticación
/profile: Gestión de perfil de usuario/admin: Panel de administración
- (public): Rutas accesibles sin autenticación
- /entities: Lógica de negocio por dominio
auth: Autenticación y componentes relacionadosuser: Gestión de perfiles y datos de usuarioadmin: Funcionalidades exclusivas de administrador
- /shared: Componentes y utilidades reutilizables
components: UI components (botones, formularios, modales)hooks: Hooks personalizados (useAuth, currentUser)lib: Utilidades y configuraciones comunes
- /actions: Acciones del servidor
auth.ts: Registro y autenticaciónprofile.ts: Actualización de perfiladmin.ts: Gestión de usuarios
- /data: Acceso a base de datos
user.ts: Operaciones CRUD de usuariosaccounts.ts: Manejo de cuentas vinculadas
- /prisma: Configuración de base de datos
schema.prisma: Esquema de la base de datosmigrations: Historial de migraciones
- /schemas: Validaciones con Zod
auth.ts: Esquemas para login/registrouser-profile.ts: Validación de perfil de usuario
- /middleware.ts: Protección de rutas y lógica de autenticación
La aplicación utiliza Auth.js (NextAuth) v5 para autenticación con los siguientes proveedores:
- Email/Contraseña
- GitHub
Los roles de usuario incluyen:
- Usuarios regulares: Pueden generar líneas de tiempo de videos
- Usuarios administradores: Capacidades adicionales de gestión
- Regístrate o inicia sesión en tu cuenta
- Pega una URL de video de YouTube en el campo de entrada
- La IA analizará el video y generará una línea de tiempo
- Navega por el video utilizando los puntos de la línea de tiempo generada
- Guarda o comparte tus líneas de tiempo generadas
¡Las contribuciones son bienvenidas! No dudes en enviar un Pull Request.
- Haz un fork del repositorio
- Crea tu rama de características (
git checkout -b feature/caracteristica-asombrosa) - Haz commit de tus cambios (
git commit -m 'Añadir alguna característica asombrosa') - Haz push a la rama (
git push origin feature/caracteristica-asombrosa) - Abre un Pull Request
Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.
Si tienes alguna pregunta o sugerencia, por favor abre un issue o contacta al propietario del repositorio.
Construido con ❤️ usando Next.js, React y tecnologías de IA.