Es un proyecto que recopila cursos gratuitos de YouTube y los organiza por categorías. Permite a los usuarios buscar y filtrar cursos, facilitando el acceso a contenido educativo.
- Construido con Next.js App Router.
- Optimizado para SEO utilizando Metadatos de Next.js.
- Componentes del servidor de React (RSC) y suspensión.
- Server Actions para las mutaciones (filtrar).
- Estilo con Tailwind CSS.
Requerimientos
- Node.js (versión +v18.x) instalado.
- Turso CLI instalado (para usuarios de Windows, es necesario activar WSL 2).
Pasos:
-
Haz un fork de este proyecto:
-
Clona el repositorio:
git clone git@github.com:TU_USUARIO/courses-app.git
-
Instala las dependencias:
# Instala pnpm globalmente si no lo tienes: npm install
-
Crea un archivo .env.local con el siguiente contenido:
# Turso DB: NEXT_PUBLIC_TURSO_DATABASE_URL= NEXT_PUBLIC_TURSO_AUTH_TOKEN= # NextAuth.js v5 => NEXTAUTH_URL= NEXTAUTH_SECRET= # Youtube Data API v3 NEXT_PUBLIC_YT_API_KEY= NEXT_PUBLIC_YT_URL=
Turso DB:
- Crea una nueva base de datos con Turso.
- Obtén el Auth Token de Turso.
- Obtén el Database URL de Turso.
NextAuth.js v5:
Youtube Data API v3:
-
Genera un nuevo archivo de migración con Prisma:
npx prisma migrate dev --name [name]
-
Inserta los datos de migración en la base de datos de Turso. (Cambia el *[name] por el nombre de archivo de la migración)
turso db shell turso-prisma-db < ./prisma/migrations/***** [name]/migration.sql
-
Ejecuta:
-
Servidor de desarrollo:
npm run dev
y abre http://localhost:3000 en tu navegador.
-