## 1. Project Overview & Quickstart (midudev/jscamp) ## File: README.md [](https://github.com/midudev/jscamp/actions/workflows/05-ci.yml) # 🚀 JSCamp InfoJobs Bienvenidos al bootcamp intensivo de JavaScript y desarrollo web full-stack diseñado para llevarte desde los fundamentos hasta las tecnologías más avanzadas del ecosistema JavaScript. Veremos HTML, CSS, JavaScript, TypeScript, Node.js, SQL, CI/CD y Docker. ## 🎨 El Proyecto Práctico A lo largo de este bootcamp, construiremos un proyecto completo **desde cero y paso a paso**, aplicando todos los conocimientos de cada módulo. 👉 [Ver diseño del proyecto](https://stitch.withgoogle.com/projects/7508115667617706440) Este proyecto te permitirá consolidar todo lo aprendido y tener una aplicación real en tu portafolio. ## 📺 La Plataforma En **[JSCamp.dev](https://jscamp.dev)** encontrarás todos los videos y contenido del bootcamp para que puedas revisarlo cuando quieras. El registro es gratis. Los videos y materiales se irán subiendo **poco a poco** a medida que avancemos en el bootcamp. ### ¿Tiene certificado? Sí, existe un certificado opcional y muy limitado de pago que incluye: - 🎓 **Certificado Digital** - Certifica tus logros en el bootcamp - 📝 **Seguimiento de Ejercicios** - Revisaremos y corregiremos tus ejercicios - 💬 **Canal Exclusivo en Discord** - Comunidad premium y soporte directo - 🎥 **Directos Exclusivos** - Clases de repaso exclusivas con dudas y preguntas - 📄 **Revisión de tu CV** - Equipo de expertos revisan tu CV y te dan feedback - 🏢 **Workshop Presencial** - Entrada asegurada a los workshops de Barcelona y Madrid **Entra a [https://jscamp.dev](https://jscamp.dev), inicia sesión y consigue acceso.** ## 📚 Contenido del Bootcamp - **00** - HTML & CSS - **01** - JavaScript - **02** - React - **03** - Estado Global y React Router - **04** - Node.js - **05** - TypeScript - **06** - Integración de IA - **07** - SQL - **08** - CI/CD - **09** - Docker ## 💻 Requisitos de Instalación Antes de comenzar, asegúrate de tener instalado el siguiente software: - **Navegador moderno** - Chrome, Firefox, Edge o Safari actualizado - **[Visual Studio Code](https://code.visualstudio.com/)** - Editor de código (recomendado) - **[Extensión Live Preview](https://marketplace.visualstudio.com/items?itemName=ms-vscode.live-server)** - Extensión para ver HTML/CSS - **[Node.js](https://nodejs.org/)** (versión 20 o superior) - Runtime de JavaScript - **[Git](https://git-scm.com/)** - Control de versiones - **[Docker](https://www.docker.com/)** - Para el módulo de Docker - **[Terminal Warp](https://midu.link/warp)** - Terminal con IA y Agentes ## 👨‍💻 Instructor Este bootcamp es impartido por **midudev**, desarrollador y creador de contenido educativo con una gran comunidad en español. ### 🌐 Redes Sociales - 🐦 **X**: [@midudev](https://twitter.com/midudev) - 📺 **YouTube**: [@midudev](https://youtube.com/@midudev) - 🎮 **Twitch**: [midudev](https://twitch.tv/midudev) - 📸 **Instagram**: [@midu.dev](https://instagram.com/midu.dev) - 💼 **LinkedIn**: [midudev](https://linkedin.com/in/midudev) - 🌍 **Web**: [midu.dev](https://midu.dev) ## 🎯 Objetivos Al finalizar JSCAMP serás capaz de: - ✅ Construir aplicaciones web completas desde cero - ✅ Dominar el ecosistema de JavaScript moderno - ✅ Crear APIs REST con Node.js - ✅ Desarrollar interfaces con React - ✅ Implementar bases de datos SQL - ✅ Configurar pipelines de CI/CD - ✅ Containerizar aplicaciones con Docker - ✅ Aplicar TypeScript en proyectos reales ## 🚀 Cómo Empezar Cada módulo contiene ejercicios prácticos y proyectos reales. Navega a la carpeta correspondiente y sigue las instrucciones. ```bash # Clona el repositorio git clone git@github.com:midudev/jscamp.git # Navega al módulo que desees cd jscamp/00-html-css # ¡Comienza a aprender! ``` --- ⭐️ Si este contenido te resulta útil, no olvides dar una estrella al repositorio --- ## File: 02-react/README.md # React + Vite This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. Currently, two official plugins are available: - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh ## React Compiler The React Compiler is currently not compatible with SWC. See [this issue](https://github.com/vitejs/vite-plugin-react/issues/428) for tracking the progress. ## Expanding the ESLint configuration If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project. --- ## File: 03-router-and-zustand/README.md # React + Vite This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. Currently, two official plugins are available: - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh ## React Compiler The React Compiler is currently not compatible with SWC. See [this issue](https://github.com/vitejs/vite-plugin-react/issues/428) for tracking the progress. ## Expanding the ESLint configuration If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project. --- ## File: 07-inteligencia-artificial/frontend/README.md # React + Vite This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. Currently, two official plugins are available: - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh ## React Compiler The React Compiler is currently not compatible with SWC. See [this issue](https://github.com/vitejs/vite-plugin-react/issues/428) for tracking the progress. ## Expanding the ESLint configuration If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project. --- ## File: 10-docker/05-ia/README.md # 🤖 Ejemplo 06 — IA local con Docker Model Runner (`ai/smollm2`) Interactúa con tu **propio modelo de IA local** de forma ultrasencilla utilizando la API local oficial de **Docker Model Runner** (introducida en 2026). En lugar de levantar complejos contenedores externos de terceros como Ollama, Docker Model Runner te permite descargar modelos de lenguaje directamente de Docker Hub o Hugging Face y correrlos optimizadamente en la GPU de tu hardware (Metal/CUDA). ## ✅ Qué necesitas - **Docker Desktop** (versión de 2026 en adelante) con la CLI de `docker model` integrada de manera nativa. ## 🚀 Puesta en marcha ### 1. Descarga el modelo en el Host Antes de arrancar el contenedor de la aplicación, arrastraremos el modelo `ai/smollm2` (~256 MB) de forma local en tu ordenador: ```bash # Descargar el modelo ligero de Docker Hub docker model pull ai/smollm2 ``` ### 2. Levantar la aplicación con Docker Compose Este microservicio en Flask se conecta a la API de tu máquina local: ```bash # Levantar el contenedor docker compose up -d --build ``` ### 3. Prueba la API local Tu aplicación ahora está exponiendo un puerto en el host `5002` mapeado al puerto `5000` interno del contenedor, el cual redirige las consultas a `http://model-runner.docker.internal/v1/`. ```bash # Realizar una consulta de prueba curl "http://localhost:5002/ask?q=What+is+a+container+in+one+sentence" ``` Verás una respuesta en formato JSON con la respuesta procesada de forma offline por el modelo local. ### 4. Limpieza ```bash docker compose down ``` ## 2. Official Technical Reference & Guides (midudev/docs) ## GitHub Docs This repository contains the documentation website code and Markdown source files for [docs.github.com](https://docs.github.com). GitHub's Docs team works on pre-production content in a private repo that regularly syncs with this public repo. In this article: - [Contributing](#contributing) - [READMEs](#readmes) - [License](#license) ## Contributing ### Start contributing right now: We accept a lot of [different contributions](CONTRIBUTING.md/#types-of-contributions-memo), including some that don't require you to write a single line of code. #### Click **make a contribution** from docs As you're using the GitHub Docs, you may find something in an article that you'd like to add to, update, or change. Click on **make a contribution** to navigate directly to that article in the codebase, so that you can begin making your contribution. #### Open an issue If you've found a problem, you can open an issue using a [template](https://github.com/github/docs/issues/new/choose). #### Solve an issue If you have a solution to one of the open issues, you will need to fork the repository and submit a PR using the [template](https://github.com/github/docs/blob/main/CONTRIBUTING.md#pull-request-template) that is visible automatically in the pull request body. For more details about this process, please check out [Getting Started with Contributing](/CONTRIBUTING.md). #### Join us in discussions We use GitHub Discussions to talk about all sorts of topics related to documentation and this site. For example: if you'd like help troubleshooting a PR, have a great new idea, or want to share something amazing you've learned in our docs, join us in [discussions](https://github.com/github/docs/discussions). #### And that's it! That's how you can get started easily as a member of the GitHub Documentation community. :sparkles: If you want to know more, or you're making a more complex contribution, check out [Getting Started with Contributing](/CONTRIBUTING.md). There are a few more things to know when you're getting started with this repo: 1. If you're having trouble with your GitHub account, contact [Support](https://support.github.com/contact). 2. We do not accept pull requests for translated content - see [CONTRIBUTING.md](/CONTRIBUTING.md) for more information. ## READMEs In addition to the README you're reading right now, this repo includes other READMEs that describe the purpose of each subdirectory in more detail: - [content/README.md](content/README.md) - [contributing/README.md](contributing/README.md) - [data/README.md](data/README.md) - [data/reusables/README.md](data/reusables/README.md) - [data/variables/README.md](data/variables/README.md) - [includes/liquid-tags/README.md](includes/liquid-tags/README.md) - [includes/README.md](includes/README.md) - [javascripts/README.md](javascripts/README.md) - [layouts/README.md](layouts/README.md) - [lib/liquid-tags/README.md](lib/liquid-tags/README.md) - [middleware/README.md](middleware/README.md) - [script/README.md](script/README.md) - [stylesheets/README.md](stylesheets/README.md) - [tests/README.md](tests/README.md) ## License The GitHub product documentation in the assets, content, and data folders are licensed under a [CC-BY license](LICENSE). All other code in this repository is licensed under a [MIT license](LICENSE-CODE). When using the GitHub logos, be sure to follow the [GitHub logo guidelines](https://github.com/logos).