Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Miguel-Rodriguez15/msvc/llms.txt

Use this file to discover all available pages before exploring further.

Spring Cloud Microservices is a fully containerized, Kubernetes-native platform composed of four independent Spring Boot 3.5 services. It handles user and course management with centralized OAuth2 authentication, service-to-service communication via OpenFeign, automatic horizontal scaling, and structured log observability through the ELK stack.

Quickstart

Run the full stack locally with Docker Compose in minutes

Architecture

Understand how the four services connect and communicate

Kubernetes Deployment

Deploy to Minikube or any Kubernetes cluster step-by-step

API Reference

Explore all Users and Courses REST endpoints

What’s inside

The platform consists of four microservices, each with its own responsibility and database:

msvc-auth

OAuth2 Authorization Server — issues JWT tokens on port 9000

msvc-usuarios

Users REST API backed by MySQL 8, runs on port 8001

msvc-cursos

Courses REST API backed by PostgreSQL 14, runs on port 8002

msvc-gateway

Spring Cloud Gateway — single entry point on port 8090

Get up and running

1

Clone the repository

git clone https://github.com/Miguel-Rodriguez15/msvc.git
cd msvc
2

Start databases and services with Docker Compose

docker compose up -d
This starts MySQL 8, PostgreSQL 14, msvc-usuarios (port 8001), and msvc-cursos (port 8002).
3

Verify services are healthy

curl http://localhost:8001/actuator/health
curl http://localhost:8002/actuator/health
4

Deploy to Kubernetes for the full OAuth2 flow

For msvc-auth and msvc-gateway, see the Kubernetes setup guide.

Key capabilities

OAuth2 + JWT

Authorization Code flow with PKCE — scoped tokens for read and write access

Auto-scaling

HPA scales pods to 5 replicas at 50% CPU; NGINX Ingress enforces rate limits

ELK Observability

Structured JSON logs shipped to Logstash, indexed in Elasticsearch by service and date

Environment Variables

Every configurable value documented with defaults for all four services

Build docs developers (and LLMs) love