All Projects
Backend
Conference Platform — Spring Cloud Microservices
Full Spring Cloud microservices system for conferences & keynotes: Config Server, Eureka discovery, API Gateway, two JWT resource servers secured by Keycloak (OAuth2/OIDC), OpenFeign inter-service calls with token propagation, and an Angular client.
5
Microservices
Eureka
Discovery
Keycloak JWT
Auth
Angular
Frontend
Approach
Config Server + Eureka + Gateway pattern, each service a JWT resource server, Feign with token propagation
Tech Stack
Java 17Spring Boot 3.4Spring Cloud 2024EurekaSpring Cloud GatewayConfig ServerKeycloakOpenFeignAngularH2
Keywords
Spring CloudEurekaAPI GatewayKeycloakOAuth2OpenFeignAngularMicroservices
Deep Dive
A complete distributed system (SDIA mock-exam solution) managing conferences and keynotes with the full Spring Cloud stack: centralized config, service discovery, gateway routing and end-to-end OAuth2 security.
Architecture
┌──────────────┐
│ Keycloak │ realm: exam-realm
│ (OAuth2/OIDC)│
└──────┬───────┘
│ JWT
┌───────────────┐ ▼
│ Angular SPA │ ──► Gateway :8888 ──► Eureka :8761 (discovery)
└───────────────┘ │ ▲
├──► keynote-service :8081
└──► conference-service :8082 ──(OpenFeign)──┐
│
Config Server :8088 ◄── all services pull config │
keynote-service ◄───────────────────────────────────┘
Services
| Service | Port | Role |
|---|---|---|
| config-service | 8088 | Spring Cloud Config Server (Git-backed) |
| discovery-service | 8761 | Eureka service registry |
| gateway-service | 8888 | API Gateway + CORS |
| keynote-service | 8081 | Keynotes resource server (H2) |
| conference-service | 8082 | Conferences resource server (H2), calls keynotes via Feign |
Security & resilience
- ▸Every microservice is a JWT resource server;
JwtAuthConvertermaps Keycloak roles → Spring authorities - ▸
FeignInterceptorpropagates the bearer token across inter-service calls - ▸Environment-variable-driven config Git path → portable across machines
- ▸All 5 services compile and pass tests without a running Keycloak