Skip to the content.

Welcome to the comprehensive API documentation for the Modern Reservation System.

πŸ—οΈ Architecture

Our system follows a microservices architecture with:

πŸ“‹ Service Categories

🏒 Business Services (Java Spring Boot)

Core business logic and domain services:

🌐 API Services (Node.js)

High-performance I/O services:

πŸ—οΈ Infrastructure Services

Platform and infrastructure:

πŸš€ Getting Started

Quick Start

# Start all infrastructure
./dev.sh docker-start

# Start business services
./dev.sh start-business-services

# Check service health
./dev.sh status

Service URLs

| Service | URL | Health Check | |β€”β€”β€”|—–|————–| | Eureka Dashboard | http://localhost:8761 | βœ… Active | | GraphQL Playground | http://localhost:4000/graphql | βœ… Active | | API Gateway | http://localhost:3001 | βœ… Active |

πŸ“Š Observability

Monitoring Stack

OpenTelemetry

All services include distributed tracing with automatic instrumentation.

πŸ” Authentication

JWT Authentication

# Get JWT token
curl -X POST http://localhost:3001/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username": "admin", "password": "admin123"}'

# Use token in requests
curl -H "Authorization: Bearer <jwt-token>" \
     -H "X-Tenant-ID: <tenant-id>" \
     http://localhost:8080/api/v1/analytics/overview

πŸ“‘ GraphQL Federation

Unified Schema

Access all services through a single GraphQL endpoint:

query GetReservationWithAnalytics($id: ID!) {
  reservation(id: $id) {
    id
    guestName
    checkIn
    checkOut
    status
    analytics {
      revenue
      nights
      averageRate
    }
  }
}

πŸ”— Event-Driven Architecture

Kafka Topics

| Topic | Purpose | Schema | |β€”β€”-|β€”β€”β€”|——–| | reservation.created | New reservations | Avro Schema | | payment.processed | Payment confirmations | Avro Schema | | availability.updated | Room availability changes | Avro Schema |

πŸ“š Additional Resources


Generated: $(date -u +”%Y-%m-%d %H:%M:%S UTC”) Version: $(git rev-parse –short HEAD)