Sistema de gestión de cursos educativos basado en microservicios desarrollado con Spring Boot y Spring Cloud.
Edutech/
├── 📁 common/ # Módulo común con DTOs y utilidades compartidas
├── 📁 eureka/ # Servidor de descubrimiento de servicios (puerto 8761)
├── 📁 ms-users/ # Microservicio de usuarios y autenticación (puerto 9001)
├── 📁 ms-courses/ # Microservicio de cursos y contenido académico (puerto 9002)
├── 📁 ms-grades/ # Microservicio de calificaciones y evaluaciones (puerto 9003)
├── 📁 ms-payments/ # Microservicio de pagos y transacciones (puerto 9004)
├── 📁 ms-support/ # Microservicio de soporte técnico (puerto 9005)
├── 📄 install.bat # Script de instalación de dependencias
├── 📄 run-all.bat # Script para iniciar todos los servicios
├── 📄 run-eureka.bat # Script para iniciar solo Eureka
├── 📄 run-users.bat # Script para iniciar solo el servicio de usuarios
├── 📄 run-courses.bat # Script para iniciar solo el servicio de cursos
├── 📄 run-grades.bat # Script para iniciar solo el servicio de calificaciones
├── 📄 run-payments.bat # Script para iniciar solo el servicio de pagos
├── 📄 run-support.bat # Script para iniciar solo el servicio de soporte
└── 📄 create-db.sql # Script para crear la base de datos
- Java 21 o superior
- Maven 3.6+
- MySQL 8.0+
# Ejecutar el script de instalación
install.bat# Ejecutar el script SQL para crear la base de datos
mysql -u root -p < create-db.sqlrun-all.bat- Iniciar Eureka Server (servidor de descubrimiento):
run-eureka.bat- Iniciar microservicios (en cualquier orden):
run-users.bat
run-courses.bat
run-grades.bat
run-payments.bat
run-support.bat- Eureka Dashboard: http://localhost:8761
- API Documentation: Cada servicio expone su documentación Swagger en
/swagger-ui.html
| Servicio | Puerto | Descripción |
|---|---|---|
| Eureka Server | 8761 | Servidor de descubrimiento |
| Users Service | 9001 | Gestión de usuarios y autenticación |
| Courses Service | 9002 | Gestión de cursos y contenido |
| Grades Service | 9003 | Gestión de calificaciones |
| Payments Service | 9004 | Gestión de pagos |
| Support Service | 9005 | Gestión de soporte técnico |
Los archivos de configuración se encuentran en:
src/main/resources/application.ymlen cada microserviciosrc/main/resources/application-dev.ymlpara configuraciones de desarrollo
Una vez que los servicios estén ejecutándose, puedes acceder a la documentación de cada API en:
- Users API: http://localhost:9001/swagger-ui.html
- Courses API: http://localhost:9002/swagger-ui.html
- Grades API: http://localhost:9003/swagger-ui.html
- Payments API: http://localhost:9004/swagger-ui.html
- Support API: http://localhost:9005/swagger-ui.html
# Compilar todo el proyecto
mvn clean install
# Ejecutar tests
mvn test
# Limpiar y recompilar
mvn clean compile
# Ver logs de un servicio específico
# Los logs se muestran en la consola donde ejecutaste el script-
Orden de inicio: Es recomendable iniciar Eureka primero, aunque los microservicios se registrarán automáticamente cuando esté disponible.
-
Base de datos: Asegúrate de que MySQL esté ejecutándose antes de iniciar los servicios.
-
Puertos: Verifica que los puertos especificados no estén siendo utilizados por otras aplicaciones.
- Error de conexión a la base de datos: Verifica que MySQL esté ejecutándose y las credenciales sean correctas.
- Puerto en uso: Cambia el puerto en el archivo
application.ymldel servicio correspondiente. - Servicio no se registra en Eureka: Espera unos segundos, el registro puede demorarse.