@oneteme/raven
v1.0.1-beta
Published
Request Archive for Virtual Endpoint Navigation
Readme
⛓️💥 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.
- Interception: The RAVEN Service Worker listens to the
fetchevent, catching all outgoingXMLHttpRequestandfetch()calls. - Archiving: In Record Mode, responses are cloned and stored in IndexedDB along with their metadata (headers, status, URL).
- 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');
}