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:
- Edit the source file: Open
/docs/architecture/system-overview.drawioin diagrams.net or use the VS Code Draw.io Integration extension - Make your changes: Modify the diagram as needed
- Export to HTML:
- In diagrams.net: File → Export as → HTML
- Enable options: "Links", "Zoom", "Layers", and "Lightbox"
- Save as
/docs/architecture/Rippler.drawio.html
- Copy to website: Run
cp docs/architecture/Rippler.drawio.html website/static/architecture/ - Rebuild docs: The changes will appear after rebuilding the documentation site
Source files location:
- Editable diagram:
/docs/architecture/system-overview.drawio - HTML export:
/docs/architecture/Rippler.drawio.html
🏗️ 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
-
Auth Service (Port 18001)
- Permissions management
- Role-Based Access Control (RBAC)
- User role and group management
-
Audit Service (Port 18003)
- Centralized activity logging
- Authentication/authorization audit trails
- System event tracking
-
Launchpad (Port 18007)
- Core business logic
- Repository management
- GitHub webhook processing
- PR analysis orchestration
-
Dependency Graph Engine (Port 18006)
- Service dependency mapping
- Graph analysis and querying
- Impact propagation analysis
-
LLM Service (Network host mode)
- AI-powered code analysis
- Impact prediction using LLMs
- Code review insights
- Supports OpenAI, Anthropic, and local Ollama models
-
Rippler UI (Port 18000)
- Next.js web application
- Real-time WebSocket updates
- User interface for impact analysis
-
Documentation (Port 18009)
- Docusaurus-based documentation website
- API references and guides
-
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