Skip to content

oneteme/raven

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⛓️‍💥 RAVEN: Request Archive for Virtual Endpoint Navigation

"Impeccable imitation, seamless navigation."

RAVEN is a high-performance network virtualization engine designed to record, archive, and replay API traffic directly at the browser's network layer. Inspired by the shapeshifter Raven Darkhölme, this tool acts as a transparent proxy, allowing your application to "morph" its environment by mimicking real backend responses from a local vault.


🚀 Overview

RAVEN solves the "unstable infrastructure" problem by decoupling your front-end from the back-end. Unlike traditional mocking tools, RAVEN operates via Service Workers, intercepting every network request (XHR/Fetch) before it even leaves the browser. This enables offline demos, stress-free development, and high-fidelity showcases with zero interference in the main thread.


✨ Core Features

  • 🔴 Record Mode: Automatically captures every network interaction and persists it in a structured IndexedDB vault.
  • ▶️ Replay Mode: Provides instant, zero-latency responses from the archive. No internet required.
  • 🛡️ Native Interception: Powered by Service Workers for a non-destructive approach. No prototype overrides—just pure, low-level network redirection.
  • 📦 Showcase Engine: Import pre-defined "Journey" files (JSON) to deploy guided, interactive product walkthroughs.
  • ⚡ Zero-Latency Dev: Stop waiting for slow database queries or 3rd-party services during front-end iterations.

🛠 Target Audience

🎤 For Sales & Solutions Architects

Deliver flawless demos. Eliminate risks associated with server downtime, database lag, or poor conference Wi-Fi. Your app remains fast and predictable, every single time.

👩‍💻 For Front-end Developers

Develop in isolation. Work on UI components even when the API is down or unfinished. Prevent "development fatigue" caused by constant page refreshes and slow network roundtrips.

📚 For Product & Marketing

Create "Golden Path" catalogs. Ship interactive examples of your platform using real data snapshots that users can explore without needing a live staging account.


🏗 How It Works

RAVEN acts as a Programmable Proxy sitting between your application and the internet.

  1. Interception: The RAVEN Service Worker listens to the fetch event, catching all outgoing XMLHttpRequest and fetch() calls.
  2. Archiving: In Record Mode, responses are cloned and stored in IndexedDB along with their metadata (headers, status, URL).
  3. Navigation: In Replay Mode, the Service Worker bypasses the network entirely, matching the request against the archive and serving the stored response.

📂 Data Vault (IndexedDB)

RAVEN organizes your virtual environment through a structured hierarchy:

  • 📁 Sessions: High-level scenarios (e.g., "Full Purchase Flow").
  • 📍 Routes: Normalized URL patterns grouped within a session.
  • Requests: The actual archived payloads (method, status, response body).

⌨️ Quick Start

1. Installation

Register the RAVEN Service Worker in your application's entry point:

if ('serviceWorker' in navigator) {
    navigator.serviceWorker.register('/raven-sw.js');
}

About

Request Archive for Virtual Endpoint Navigation

Resources

License

Stars

Watchers

Forks

Contributors