Full-Stack con Quarkus + React — de cero a la nube Curso completo, gratuito, en español.
QuarkStack es el proyecto del curso homónimo: un sistema de gestión de tareas colaborativo en tiempo real (estilo Jira simplificado), construido con Quarkus y React, desplegado en Azure.
El curso cubre desde los fundamentos hasta producción, incluyendo:
- Arquitectura Hexagonal real con Maven multi-módulo (el compilador hace cumplir las reglas)
- CQRS con PostgreSQL para escrituras y MongoDB para lecturas
- Event-Driven Architecture con Apache Kafka
- Programación reactiva con Mutiny y Server-Sent Events
- Seguridad con OIDC y Keycloak
- Observabilidad con OpenTelemetry + Grafana (métricas, trazas y logs)
- Frontend en React 19 desde cero para Java devs
- Testing con JUnit 5, Mockito y Testcontainers
- Despliegue en Azure Container Apps con GitHub Actions
| # | Episodio | Tag |
|---|---|---|
| 00 | Bienvenida y arquitectura del proyecto | ep-00 |
| 01 | Setup del entorno completo | ep-01 |
| 02 | Arquitectura Hexagonal: puertos y adaptadores | ep-02 |
| 03 | El dominio: entidades, VOs y casos de uso | ep-03 |
| ... | ... | ... |
Consulta el Episodio 00 para el índice completo del curso.
Asegúrate de tener instalados: Java 21, Node 24 LTS, Docker Desktop y Git. El setup detallado está en el Episodio 01.
🐧 Bash:
git clone git@github.com:apuntesdejava/fullstack-quarkus-react-tutorial.git
cd fullstack-quarkus-react-tutorial
# Infraestructura local
docker compose -f infra/docker/docker-compose.yml up -d
# Backend (desde el módulo runner)
cd backend
./mvnw quarkus:dev -pl quarkstack-runner
# Frontend (en otra terminal)
cd frontend
npm install
npm run dev🪟 PowerShell:
git clone git@github.com:apuntesdejava/fullstack-quarkus-react-tutorial.git
cd fullstack-quarkus-react-tutorial
# Infraestructura local
docker compose -f infra/docker/docker-compose.yml up -d
# Backend (desde el módulo runner)
cd backend
.\mvnw.cmd quarkus:dev -pl quarkstack-runner
# Frontend (en otra terminal)
cd frontend
npm install
npm run dev| Servicio | URL |
|---|---|
| Frontend React | http://localhost:5173 |
| Backend API | http://localhost:8080 |
| Swagger UI | http://localhost:8080/swagger-ui |
| Quarkus Dev UI | http://localhost:8080/q/dev |
| Kafka UI | http://localhost:8090 |
Backend: Quarkus 3.x · Jakarta EE · MicroProfile · Mutiny · Panache · Flyway · OpenTelemetry
Frontend: React 19 · Vite · Tailwind CSS · React Router · TanStack Query
Infraestructura: PostgreSQL · MongoDB · Apache Kafka · Keycloak · Docker
Cloud: Azure Container Apps · Azure Static Web Apps · Azure Event Hubs · Azure Cosmos DB
fullstack-quarkus-react-tutorial/
│
├── backend/ ← Proyecto Maven multi-módulo
│ ├── pom.xml ← Parent POM
│ ├── quarkstack-domain/ ← Java puro. Sin frameworks.
│ ├── quarkstack-application/ ← Casos de uso. Solo conoce al dominio.
│ ├── quarkstack-adapter-rest/ ← JAX-RS + OpenAPI (Quarkus)
│ ├── quarkstack-adapter-persistence/ ← Panache PG + Mongo + Flyway
│ ├── quarkstack-adapter-messaging/ ← SmallRye + Kafka
│ └── quarkstack-runner/ ← Ensambla todo. Ejecuta Quarkus.
│
├── frontend/ ← React 19 + Vite + Tailwind CSS
│
├── infra/
│ ├── docker/ ← Docker Compose local
│ └── azure/ ← Scripts Az CLI para despliegue
│
└── docs/ ← Tutoriales por episodio
Árbol completo con todos los archivos y el episodio donde se crean: docs/ESTRUCTURA.md
- Java 21
- Node 24 LTS
- Docker Desktop
- Git
Apache License 2.0 — ver LICENSE
QuarkStack — Construido con ❤️ y mucho ☕