Use this file to discover all available pages before exploring further.
Esta página responde las dudas más habituales sobre JSCamp, el bootcamp intensivo de JavaScript full-stack de midudev. Si no encuentras la respuesta aquí, consulta las opciones de soporte al final de la página.
¿Necesito experiencia previa para hacer JSCamp?
No es necesaria experiencia previa en JavaScript. El bootcamp comienza desde HTML y CSS básico (módulo 00) y avanza progresivamente hasta tecnologías avanzadas como Docker, TypeScript e Inteligencia Artificial.Sí es recomendable:
Saber usar la computadora con comodidad (instalar software, usar la terminal básica).
Tener nociones básicas de lógica o programación (aunque no es estrictamente obligatorio).
Disponer de tiempo para practicar los ejercicios de cada módulo.
El ritmo está diseñado para que cualquier persona con ganas de aprender pueda seguirlo.
¿JSCamp tiene certificado?
Sí, hay un certificado opcional de pago disponible en jscamp.dev. Es una opción limitada que incluye los siguientes beneficios:
🎓 Certificado Digital — certifica tus logros al completar el bootcamp.
📝 Seguimiento de Ejercicios — revisión y corrección de tus ejercicios por el equipo.
💬 Canal Exclusivo en Discord — comunidad premium con soporte directo.
🎥 Directos Exclusivos — clases de repaso en vivo con ronda de preguntas y respuestas.
📄 Revisión de CV — expertos revisan tu currículum y te dan feedback personalizado.
🏢 Workshop Presencial — entrada asegurada a los workshops en Barcelona y Madrid.
Para obtener el certificado, entra en https://jscamp.dev, inicia sesión y consulta las opciones disponibles.
¿Dónde están los videos del bootcamp?
Todos los videos están disponibles en jscamp.dev. El registro es completamente gratuito.Ten en cuenta que:
Los materiales se publican progresivamente a medida que avanza el bootcamp en directo.
El código fuente de todos los módulos está disponible en GitHub desde el inicio.
Puedes revisar los videos en cualquier momento y a tu propio ritmo una vez publicados.
Si un módulo todavía no tiene video publicado, el código del repositorio puede servirte como referencia mientras tanto.
¿Qué versión de Node.js necesito?
Se requiere Node.js 20 o superior. Puedes verificar tu versión actual ejecutando:
node --version
Instalación recomendada con nvm (Node Version Manager), que permite gestionar múltiples versiones:
# Instalar nvm (macOS/Linux)curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash# Instalar la versión LTS más recientenvm install --lts# Usar una versión específicanvm use 22# Ver versiones instaladasnvm ls
Para Windows, se recomienda usar nvm-windows o instalar Node.js directamente desde nodejs.org.
¿Por qué algunos módulos usan pnpm y otros npm?
La mayoría de módulos usan npm estándar, que es el gestor de paquetes predeterminado de Node.js y el más sencillo para empezar.Los módulos 08-sql y 09-ci-cd usan pnpm workspaces porque son monorepos que contienen múltiples sub-paquetes (por ejemplo, frontend y backend en el mismo repositorio). pnpm gestiona eficientemente las dependencias compartidas entre paquetes y evita duplicaciones.
# Instalar pnpm globalmentenpm install -g pnpm# Instalar dependencias en un monorepopnpm install# Ejecutar un script en un paquete concretopnpm --filter backend dev
No necesitas aprender pnpm para los primeros módulos. Cuando llegues al módulo 08, el README del módulo explica los comandos necesarios.
Error: EADDRINUSE (puerto en uso)
Este error aparece cuando intentas iniciar un servidor en un puerto que ya está siendo utilizado por otro proceso.
Error: listen EADDRINUSE: address already in use :::3000
Soluciones:Opción 1 — Cambiar el puerto en el archivo .env:
# En 04-express/.env (o el módulo correspondiente)PORT=3001
Opción 2 — Cambiar el puerto de Vite (frontend):
npm run dev -- --port 3001
Opción 3 — Encontrar y matar el proceso que usa el puerto:
# macOS / Linux: encontrar el procesolsof -i :3000# Matar el proceso por PIDkill -9 <PID># Windows (PowerShell)netstat -ano | findstr :3000taskkill /PID <PID> /F
Inicia el servidor del módulo y comprueba que no hay errores de autenticación en la consola.
Nunca subas tu OPENAI_API_KEY a Git. Verifica que .env está en tu .gitignore. OpenAI puede revocar claves expuestas públicamente de forma automática.
Alternativa gratuita: el módulo 10 de Docker incluye un ejemplo con docker model que ejecuta modelos de IA completamente en local y sin necesidad de API key, usando ai/smollm2 (~256 MB).
¿Puedo hacer los módulos en cualquier orden?
Se recomienda seguir el orden numérico ya que JSCamp está diseñado como un itinerario progresivo: cada módulo construye sobre los conocimientos y el código del anterior.La aplicación DevJobs evoluciona a lo largo de todos los módulos:
00-01: HTML, CSS y JavaScript básico
02-03: React + estado global + routing
04: API REST con Express y Node.js
05: Testing
06: TypeScript
07: Integración de IA (OpenAI)
08: SQL y bases de datos
09: CI/CD con GitHub Actions
10: Dockerización de la app
Sin embargo, si ya tienes experiencia en algún área concreta, puedes saltar directamente a módulos más avanzados. El código de cada módulo es autocontenido y tiene su propio README con instrucciones de inicio.
¿Hay soporte si me quedo atascado?
Depende de si tienes el certificado o no:Con certificado (de pago):
Acceso al canal exclusivo de Discord con soporte directo del equipo de midudev.
Directos exclusivos de repaso donde puedes hacer preguntas en tiempo real.
Sin certificado (gratuito):
Comunidad general de midudev en Twitch (twitch.tv/midudev) — preguntas en el chat durante los directos.
Issues en GitHub del repositorio del bootcamp para reportar errores en el código de los módulos.
Antes de pedir ayuda, busca el error en Google incluyendo el mensaje exacto entre comillas. La mayoría de errores comunes de Express, Node.js o Docker tienen solución documentada en Stack Overflow o en la documentación oficial.
¿Qué herramientas necesito instalar?
Lista completa de herramientas necesarias para seguir el bootcamp:
¿Cómo ejecuto el proyecto completo (frontend + backend)?
A partir del módulo 04, el proyecto tiene dos partes que deben ejecutarse simultáneamente en terminales separadas:
# Terminal 1 — Backend (Express)cd 04-expressnpm installnpm run dev# → API escuchando en http://localhost:3000# Terminal 2 — Frontend (Vite + React)cd 03-estado-global-react-router # o el módulo frontend correspondientenpm installnpm run dev# → App disponible en http://localhost:5173
Con Docker Compose (módulo 10), puedes levantar todo con un solo comando:
docker compose up --build
¿Encontraste un error en el código de algún módulo? Puedes reportarlo directamente en el repositorio oficial de GitHub: github.com/midudev/jscamp. Abre un issue describiendo el problema, el módulo afectado y los pasos para reproducirlo.