Project 03

Hotel Rating System

JavaSpring BootSpring SecurityOktaMySQLMongoDB

A microservices-based hotel rating platform with secure OAuth2/OIDC authentication via Okta, API Gateway with rate limiting, and resilient service-to-service communication using Netflix Eureka and Resilience4j.

The Problem

Building a microservices architecture that properly handles authentication, authorization, and resilience across distributed services is complex. Most tutorials skip security hardening and DoS protection.

The Approach

Implemented OAuth2/OIDC authentication via Okta with Spring Security across all microservices. Added API Gateway rate limiting to prevent brute force and DoS attacks. Used Netflix Eureka for service discovery and Resilience4j for circuit breaking.

Technical Details

Each microservice validates Okta tokens independently. The API Gateway enforces rate limits per client. Resilience4j provides circuit breaker, retry, and bulkhead patterns. MySQL stores hotel data while MongoDB handles ratings for flexible schema evolution.

Key Highlights

Secure authentication with Okta + Spring Security
Rate limiting to mitigate brute force & DoS attacks
Least-privilege access patterns across microservices
Resilient service discovery with Netflix Eureka