Skip to content

Commit 979c08d

Browse files
committed
Refactor frontend application: remove old files, implement new features, and enhance UI/UX
- Deleted obsolete files: index.html, index.tsx, model.ts, styles.css, topic-row.tsx, topic-table.tsx, tsconfig.json, webpack.config.js, and override.env. - Added new Docker Compose configuration for frontend and backend services. - Introduced a new features document outlining enhancements for the Topics Manager. - Updated package.json and package-lock.json to include Swapy for drag-and-drop functionality. - Revamped styles.css for a modern look with gradient backgrounds and responsive design. - Enhanced TopicRow and TopicTable components to support topic creation and deletion with improved UI. - Implemented loading states and error handling for better user experience.
1 parent 2376c0f commit 979c08d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+965
-18521
lines changed

01-contenedores/contenedores-v/README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
![Docker](imagenes/Docker%20y%20el%20networking.png)!
44

5-
En esta lección aprenderemos cómo conectar contenedores entre sí y con el mundo exterior. Cubriremos los diferentes tipos de redes disponibles en Docker y cómo gestionarlas.En esta lección aprenderemos cómo conectar contenedores entre sí y con el mundo exterior. Cubriremos los diferentes tipos de redes disponibles en Docker y cómo gestionarlas.
5+
¡Hola lemoncoder 👋🏻🍋 ! En esta lección aprenderemos cómo conectar contenedores entre sí y con el mundo exterior. Cubriremos los diferentes tipos de redes disponibles en Docker y cómo gestionarlas.En esta lección aprenderemos cómo conectar contenedores entre sí y con el mundo exterior. Cubriremos los diferentes tipos de redes disponibles en Docker y cómo gestionarlas.
66

77
## 🎬 Vídeos de la introducción en el campus
88

@@ -337,6 +337,14 @@ También puedes desconectar contenedores de una red específica antes de elimina
337337
docker network disconnect lemoncode-net lemon-web
338338
```
339339

340+
341+
## ⭐ Bonus: extensión ngrok para Docker Desktop
342+
343+
Si usas Docker Desktop, puedes aprovechar la extensión de ngrok para exponer tus contenedores al mundo exterior de forma segura y sencilla. Esto es útil cuando quieres compartir tu trabajo con alguien sin necesidad de configurar puertos o redes complicadas.
344+
345+
346+
347+
340348
## 🎉 ¡Felicidades, eres oficialmente un ninja de redes!
341349

342350
En esta épica aventura de networking has aprendido a:

01-contenedores/contenedores-vi/README.md

Lines changed: 81 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,30 @@
22

33
![Docker Compose](imagenes/Docker%20compose.png)
44

5-
## 📋 Agenda
6-
7-
- [🏗️ Introducción a Docker Compose](#️-introducción-a-docker-compose)
8-
- [🎯 Escenario: Blog con WordPress y MySQL](#-escenario-blog-con-wordpress-y-mysql)
9-
- [📝 Manual vs Docker Compose](#-manual-vs-docker-compose)
10-
- [🐳 Docker Compose en acción](#-docker-compose-en-acción)
11-
- [⚡ Comandos básicos de Compose](#-comandos-básicos-de-compose)
12-
- [🔧 Gestión avanzada de proyectos](#-gestión-avanzada-de-proyectos)
13-
- [🌊 Introducción a Docker Swarm](#-introducción-a-docker-swarm)
14-
- [🎪 Creando un cluster Swarm](#-creando-un-cluster-swarm)
15-
- [🚀 Desplegando servicios en Swarm](#-desplegando-servicios-en-swarm)
16-
- [📊 Escalado y monitorización](#-escalado-y-monitorización)
17-
- [🌐 Networking: Ingress vs Host](#-networking-ingress-vs-host)
18-
- [📦 Docker Stacks](#-docker-stacks)
19-
- [📚 Comandos Docker Compose más comunes](#-comandos-docker-compose-más-comunes)
20-
- [📚 Comandos Docker Swarm más comunes](#-comandos-docker-swarm-más-comunes)
21-
- [🎉 ¡Felicidades!](#-felicidades)
5+
¡Hola lemoncoder 👋🏻🍋 ! Con esta clase finalizamos el repaso a los contenedores. Y ha llegado el momento de aprender qué es Docker Compose y nuestra primera expidición a los clústeres de Docker.
6+
7+
## 🎬 Vídeos de la introducción en el campus
8+
9+
Se asume que has visto los siguientes vídeos para comenzar con este módulo:
10+
11+
| # | Tema | Contenido Clave |
12+
|---|------|-----------------|
13+
| 1 | Teoría - Docker Compose | El por qué y para qué de Docker Compose |
14+
| 2 | Demo 1 | Ejemplo sin Docker Compose |
15+
| 3 | Demo 2 - Ejemplo de un Wordpress con Docker Compose |
16+
| 4 | Teoría - Docker Swarm | Para qué sirve un clúster y cómo se gestiona |
17+
| 5 | Demo 3 - Crear un clúster con Docker Swarm | Crear un cluster y ejecutar nuestra primera aplicación |
18+
19+
---
20+
2221

2322
## 🏗️ Introducción a Docker Compose
2423

25-
Docker Compose es una herramienta que te permite definir y ejecutar aplicaciones Docker multi-contenedor. En lugar de ejecutar múltiples comandos `docker run`, puedes definir toda tu aplicación en un archivo YAML y levantarla con un solo comando.
24+
Docker Compose es una herramienta que te permite definir y ejecutar aplicaciones Docker multi-contenedor. En lugar de ejecutar múltiples comandos `docker run`, `docker volume`, `docker network`, etc., puedes definir toda tu aplicación en un archivo YAML y levantarla con un solo comando.
2625

2726
### 🎯 Escenario: Blog con WordPress y MySQL
2827

29-
Imaginemos que queremos desplegar un blog con WordPress. Este necesita una base de datos MySQL para funcionar. Vamos a ver primero cómo hacerlo manualmente y luego con Docker Compose.
28+
Para que lo entiendas perfectamente, imaginemos que queremos desplegar un blog con WordPress. Este necesita una base de datos MySQL para funcionar. Vamos a ver primero cómo hacerlo manualmente y luego con Docker Compose.
3029

3130
### 📝 Manual vs Docker Compose
3231

@@ -82,6 +81,9 @@ Puedes verificar el contenido del volumen de WordPress:
8281
docker exec wordpress ls -l /var/www/html
8382
```
8483

84+
Y ahora si accedes a `http://localhost:8000` en tu navegador, deberías ver la pantalla de instalación de WordPress.
85+
86+
8587
**Para limpiar todo este despliegue manual:**
8688

8789
```bash
@@ -98,7 +100,7 @@ Como puedes ver, ¡son muchos comandos para una aplicación simple! 😰
98100
Ahora veamos cómo Docker Compose simplifica todo esto. Primero, echemos un vistazo al archivo de configuración:
99101

100102
```bash
101-
cat docker-compose.yml
103+
cat compose.yml
102104
```
103105

104106
Este archivo define toda nuestra aplicación en un formato legible y mantenible.
@@ -123,8 +125,24 @@ docker compose up &
123125
docker compose up -d
124126
```
125127

128+
Cuando la tienes abierta descubrirás que en la parte inferior del terminal te propone tres comandos rápidos:
129+
130+
- `v` View in Docker Desktop: si pulsas esta tecla te lleva directamente a una vista donde verás los contenedores involucrados.
131+
132+
133+
![View in Docker Desktop](imagenes/Docker%20Compose%20-%20View%20in%20Docker%20Desktop.png)
134+
135+
- `o` View Config: si pulsas esta tecla te lleva de nuevo a Docker Desktop pero esta vez a una vista donde verás el archivo Docker Compose y opciones adicionales para entenderlo e incluso para convertirlo a los archivos que un clúster de Kubernetes necesita.
136+
137+
![View Config](imagenes/Docker%20Compose%20-%20View%20Config.png)
138+
139+
- `watch` Enable Watch: si pulsas esta tecla se activa la funcionalidad de Compose Watch que veremos más adelante en este mismo documento y que es ideal para desarrollo.
140+
126141
**Parar la aplicación:**
127142

143+
Si quisieramos parar todos los contenedores, podríamos usar `Control + C` o `Cmd + C` si lo hemos levantado en primer plano, pero si lo hemos hecho en segundo plano:
144+
145+
128146
```bash
129147
docker compose stop
130148
```
@@ -135,22 +153,54 @@ docker compose stop
135153
docker compose down
136154
```
137155

138-
## Compose Watch
156+
Hurra! 🎉 Has desplegado una aplicación completa con solo unos pocos comandos y un archivo súper descriptivo que te ayuda a entender perfectamente qué necesita tu aplicación.
157+
158+
Ahora vamos a ver algunas funcionalidades avanzadas de Docker Compose.
159+
160+
### Configuraciones avanzadas de Docker Compose
161+
162+
Para esta sección vamos a usar otro ejemplo más complejo que puedes encontrar en `01-contenedores/contenedores-vi/my-app`, el cual contiene un frontend y un backend. Para levantarlo con docker compose, navega a esa carpeta y ejecuta:
163+
164+
```bash
165+
cd 01-contenedores/contenedores-vi/my-app
166+
docker compose up
167+
```
168+
169+
170+
### Docker Compose Watch
139171

140172
Docker Compose Watch permite que los servicios se actualicen automáticamente cuando editas archivos en tu proyecto. Es ideal para desarrollo, ya que puedes ver los cambios reflejados en los contenedores sin reiniciar manualmente.
141173

142-
Ventajas principales:
174+
### 🔭 Ventajas de Docker Compose Watch
175+
176+
- 🔁 Sincronización automática de archivos entre tu máquina y el contenedor.
177+
- 🚫 Posibilidad de ignorar carpetas (ej. node_modules/) para mejorar rendimiento.
178+
- 🛠 Acciones soportadas: sync (sincronizar), rebuild (reconstruir imagen) y sync+restart (sincronizar y reiniciar servicio).
179+
180+
### ⚙️ Configuración básica
181+
182+
Añade la sección develop.watch en el servicio que quieres monitorizar dentro del archivo compose.watch.yml.
183+
184+
```yaml
185+
services:
186+
app:
187+
build: .
188+
develop:
189+
watch:
190+
- action: sync
191+
path: ./src
192+
target: /app/src
193+
- action: rebuild
194+
path: package.json
195+
- action: sync+restart
196+
path: ./config
197+
```
143198
144-
Sincronización automática de archivos entre tu máquina y el contenedor.
145-
Puedes ignorar carpetas (por ejemplo, node_modules/) para mejorar el rendimiento.
146-
Permite acciones como sync (sincronizar), rebuild (reconstruir imagen) y sync+restart (sincronizar y reiniciar servicio).
147-
Configuración básica:
199+
### 🧪 Acciones
148200
149-
Se añade la sección develop.watch en el servicio que quieres monitorizar.
150-
Ejemplo de acciones:
151-
sync: Sincroniza archivos modificados.
152-
rebuild: Reconstruye la imagen si se modifica un archivo clave (ej. package.json).
153-
sync+restart: Sincroniza y reinicia el servicio (útil para cambios en config).
201+
- sync: Copia al contenedor solo los archivos modificados.
202+
- rebuild: Reconstruye la imagen si cambia un archivo clave (ej. package.json).
203+
- sync+restart: Sincroniza y reinicia el servicio (útil para cambios de configuración).
154204
155205
156206
Para poder usar Compose Watch debes tener una configuración como la que se ve en `compose.watch.yml`:

01-contenedores/contenedores-vi/compose.watch.yaml

Whitespace-only changes.

0 commit comments

Comments
 (0)