Skip to content

SpecVital Architecture ​

🇰🇷 한국어 버전

Overview ​

SpecVital is a platform for analyzing and visualizing test files in GitHub repositories.

┌─────────────────────────────────────────────────────────────────────────────────┐
│                              SpecVital Platform                                  │
├─────────────────────────────────────────────────────────────────────────────────┤
│                                                                                  │
│   ┌──────────────────────────────────────────────────────────────────────────┐  │
│   │                                                                          │  │
│   │   ┌─────────┐                          ┌────────────────────────────┐   │  │
│   │   │   web   │                          │     worker (repository)    │   │  │
│   │   │         │                          │                            │   │  │
│   │   │  API +  │                          │  ┌──────────┐ ┌─────────┐  │   │  │
│   │   │Dashboard│                          │  │ Analyzer │ │Scheduler│  │   │  │
│   │   └────┬────┘                          │  └────┬─────┘ └─────────┘  │   │  │
│   │        │                               │       │                    │   │  │
│   │        │                               │       ▼                    │   │  │
│   │        │                               │  ┌────────┐                │   │  │
│   │        │                               │  │  core  │ (Library)     │   │  │
│   │        │                               │  └────────┘                │   │  │
│   │        │                               └───────┬────────────────────┘   │  │
│   │        │                                       │                        │  │
│   │        └───────────────────┬───────────────────┘                        │  │
│   │                            │                                            │  │
│   │                            ▼                                            │  │
│   │                    ┌──────────────────────┐                             │  │
│   │                    │     PostgreSQL       │                             │  │
│   │                    │ (Data + River Queue) │                             │  │
│   │                    └──────────────────────┘                             │  │
│   └──────────────────────────────────────────────────────────────────────────┘  │
│                                                                                  │
└─────────────────────────────────────────────────────────────────────────────────┘

Repositories ​

core ​

Role: Tree-sitter based test parser engine

ItemDescription
LanguageGo
TypeLibrary
Consumerworker

worker ​

Role: Analysis workers (analyzer, spec-generator)

ItemDescription
LanguageGo
Dependenciescore, infra (PostgreSQL)

Data Flow ​

┌─────────┐                                                    ┌─────────┐
│  User   │                                                    │  User   │
└────┬────┘                                                    └────▲────┘
     │ 1. Request                                                   │ 6. View
     ▼                                                              │
┌─────────────────────────────────────────────────────────────────────────────┐
│                              Web Service                                     │
│                                                                              │
│  ┌─────────┐    2. Enqueue                        3. Consume    ┌───────────┐  │
│  │   web   │──────────────────────────────────────────────────▶│  worker   │  │
│  │  (API)  │                                                    │ (Analyzer)│  │
│  └────┬────┘                                                    └─────┬─────┘  │
│       │                                                               │        │
│       │ 5. Read Results                              4. Parse (core) │        │
│       │                                                               │        │
│       │            ┌────────────────────────────┐                     │        │
│       └───────────▶│       PostgreSQL           │◀────────────────────┘        │
│                    │  (Data + River Queue)      │                              │
│                    └────────────────────────────┘                              │
│                                                                              │
└─────────────────────────────────────────────────────────────────────────────┘

Flow:

  1. User requests analysis with GitHub URL
  2. web enqueues job to River queue (PostgreSQL)
  3. worker (analyzer) consumes job from River
  4. worker parses tests via core and stores results
  5. web reads results from DB
  6. User views visualized results

Deployment ​

Platforms ​

ServicePlatform
PostgreSQLNeon
web-backendRailway
web-frontendVercel
worker-analyzerRailway
worker-schedulerRailway

Scalability ​

ServiceScalabilityNote
webHorizontalStateless
worker (Analyzer)HorizontalStateless, parallel processing
worker (Scheduler)Single instanceCron jobs

Open-source test coverage insights