Skip to content

System Architecture

🇰🇷 한국어 버전

Service Composition

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   Frontend  │────▶│   Backend   │────▶│  Collector  │
│             │     │             │     │   (Worker)  │
└─────────────┘     └──────┬──────┘     └──────┬──────┘
                           │                   │
                    ┌──────▼──────┐     ┌──────▼──────┐
                    │  PostgreSQL │     │    Core     │
                    │ (River Queue)     │  (Parser)   │
                    └─────────────┘     └─────────────┘

Service Roles

ServiceRole
FrontendWeb dashboard
BackendREST API, OAuth
CollectorAsync analysis worker
CoreTest parser library

Data Flow

User → Enter GitHub URL
    → Backend: Analysis request
    → PostgreSQL (River): Task queue
    → Collector: git clone + parsing
    → PostgreSQL: Store results
    → Frontend: View results

Communication Patterns

PathMethod
Frontend ↔ BackendREST/HTTP
Backend → CollectorMessage queue
Collector → CoreLibrary call

Scaling Strategy

  • Horizontal scaling of Collectors
  • Analysis result caching

Open-source test coverage insights