Skip to main content

Architecture Overview

📊 Architecture Diagram

Below is the interactive Rippler system architecture diagram showing the data flow between all components. The diagram supports zooming, panning, and has automatic light/dark mode support.

Update the Architecture Diagram

To update this architecture diagram:

  1. Edit the source file: Open /docs/architecture/system-overview.drawio in diagrams.net or use the VS Code Draw.io Integration extension
  2. Make your changes: Modify the diagram as needed
  3. Export to HTML:
    • In diagrams.net: File → Export as → HTML
    • Enable options: "Links", "Zoom", "Layers", and "Lightbox"
    • Save as /docs/architecture/Rippler.drawio.html
  4. Copy to website: Run cp docs/architecture/Rippler.drawio.html website/static/architecture/
  5. Rebuild docs: The changes will appear after rebuilding the documentation site

Source files location:

🏗️ System Components

External Layer

  • Client/Browser: Rippler UI (Next.js web application)
  • GitHub Webhooks: External webhook events from GitHub

API Gateway Layer

  • API Gateway (Port 18005): Main entry point, handles routing and authentication

Service Discovery

  • Eureka Discovery Server (Port 18761): Service registry and discovery

Authentication & Authorization

  • Keycloak SSO (Port 18004): Identity provider and Single Sign-On

Core Microservices

  1. Auth Service (Port 18001)

    • Permissions management
    • Role-Based Access Control (RBAC)
    • User role and group management
  2. Audit Service (Port 18003)

    • Centralized activity logging
    • Authentication/authorization audit trails
    • System event tracking
  3. Launchpad (Port 18007)

    • Core business logic
    • Repository management
    • GitHub webhook processing
    • PR analysis orchestration
  4. Dependency Graph Engine (Port 18006)

    • Service dependency mapping
    • Graph analysis and querying
    • Impact propagation analysis
  5. LLM Service (Network host mode)

    • AI-powered code analysis
    • Impact prediction using LLMs
    • Code review insights
    • Supports OpenAI, Anthropic, and local Ollama models
  6. Rippler UI (Port 18000)

    • Next.js web application
    • Real-time WebSocket updates
    • User interface for impact analysis
  7. Documentation (Port 18009)

    • Docusaurus-based documentation website
    • API references and guides
  8. PgAdmin (Port 18010)

    • PostgreSQL database administration
    • Development and debugging tool

Data & Cache Layer

  • PostgreSQL (Port 5432): Primary relational database
  • Redis (Port 6379): Caching and session management