โชว์เคสโปรเจกต์
Hero image for Ruvyxa – Rust-Powered Full-Stack Web Framework

Ruvyxa – Rust-Powered Full-Stack Web Framework

Project Detail

Problem Solved:
Modern JS web frameworks rely on slow JS-based bundlers, fragmented plugin tooling, per-request subprocess spawning for SSR (100–500 ms overhead), O(n) route matching, and manual per-platform deployment configs. Ruvyxa consolidates routing, server logic, validation, builds, and runtime output into a single Rust-powered workflow.

My Role:
Sole author and maintainer — designed the architecture, implemented the Rust workspace and Node runtime, and wrote the documentation, CLI, and starter templates.

Key Features:
• Rust bundler: TypeScript/JSX/Markdown/MDX compilation, tree-shaking, Oxc-backed minification, and source maps in one self-contained binary
• Five rendering strategies per route: SSR (default), SSG, ISR, CSR, and PPR with streamed Suspense slots
• File-system routing: dynamic segments, catch-all, route groups, parallel slots, API routes; duplicate/ambiguous routes rejected at build time
• Dev server with WebSocket HMR, source-mapped debug overlay, and port-conflict detection
• Type-safe server actions and co-located server.ts loaders with human-readable TTL caching and on-demand revalidatePath()
• Security: build-time server/client boundary enforcement, RUVYXA_PUBLIC_ env isolation, seven default security headers
• Gzip + Brotli compression and BLAKE3-256 ETag / 304 caching

Architecture:
Rust workspace with six crates — ruvyxa_bundler (compiler/minifier/linker), ruvyxa_cli (build orchestration), ruvyxa_dev_server (axum server, WebSocket HMR, radix-trie router, LRU render cache), ruvyxa_middleware (Tower layers), ruvyxa_graph (route discovery/validation), ruvyxa_diagnostics (RUV#### error codes). The npm CLI launches a prebuilt Rust binary; SSR runs in a persistent Node/Bun/Deno worker pool over IPC with tokio async I/O.

Data Model:
Content-addressed incremental module graph with persisted, content-verified dependency edges; RwLock-backed LRU render cache (1024 entries dev / 512 prod, TTL 5/30 min); BLAKE3-fingerprinted shared artifacts; per-route manifest with rendering strategy metadata.

Deployment:
11 zero-config adapters — Vercel, Netlify, Cloudflare, Node.js, Bun, Deno, Static, AWS Amplify, Firebase, Railway, and Render. Prebuilt CLI binaries for win32-x64/arm64, linux-x64/arm64, darwin-arm64; no Rust toolchain needed to build apps.

Results:
Eliminates 100–500 ms per-request SSR subprocess overhead; O(path-depth) route resolution regardless of route count; sub-millisecond repeated page loads from the LRU cache; deterministic warm builds via content-verified reuse; one-command scaffold → dev → build → deploy workflow (npm create ruvyxa@latest).

Tech Stack

Rust TypeScript React Node.js

Comments

0 comments

No comments yet. Be the first to start a useful discussion about this project.