Skip to main content

Introduction

RapidREST is a low-code TypeScript framework for building data-driven REST APIs and apps fast. It is battle-tested and has been meticulously designed to deliver industry leading performance without sacrificing code quality or speed of development. RapidREST provides the critical features needed to ship production-ready backend services and server-side-rendered (SSR) React that the modern web demands:

  • Decorator-driven REST APIs - create a class and decorate it with @Route, then add functions decorated with HTTP verbs (e.g. @Get, @Post) for the endpoints. RapidREST automatically detects and wires everything
  • Persistence framework - provides an easy to use decorator-driven API for data persistence across NoSQL and SQL databases. Combined with the built-in CRUDRoute and ModelRoute base classes, RapidREST offers an ultra low-code solution for rapidly building data-driven REST APIs and web apps
  • Integrated cache system - the Redis-based caching system automatically caches search queries, documents and server rendered React pages with fully configurable TTLs
  • Built-in RBAC / ACL auth - safeguard access to data by defining an Access Control List per URL path, class type or documents using the built-in Roles Based Access Control authorization system
  • Background jobs and services - execute background jobs and services on a pre-defined crontab-style schedule or interval by creating a class that extends BackgroundService
  • Integrated Prometheus metrics - Prometheus metrics is pre-integrated with the framework and exposed via the /metrics endpoint through the built-in BaseMetricsRoute, already wired up for you by the CLI scaffold (see Default Routes)
  • Automated OpenAPI docs - the framework automatically builds a complete OpenAPI specification based on the code and exposes it via the /openapi/json and /openapi/yaml endpoints through the built-in BaseOpenAPIRoute, also wired up for you by the CLI scaffold
  • Server-side-rendered React - deliver server-side-rendered (SSR) React for static and interactive apps with seamless integration to the entire backend framework using a @ReactService decorated class

History

In late 2018, Jean-Philippe Steinmetz co-founded the award-winning Game Backend as a Service platform AcceleratXR. The mission of AcceleratXR was to build a democratized backend technology platform that was low-code, easy to learn, and yet powerful enough to be used at massive scale (serving millions of daily active users). In time the AcceleratXR platform became a hit with the indie game developer community, powering popular games like Armajet. A couple years later, in 2020, the team at AcceleratXR decided to release the framework that the platform was built upon as an open source project called Composer.js under the MIT license.

Staying true to its ancestry, RapidREST is the evolution of the very framework that made AcceleratXR successful. It is a fully featured low-code framework, built for high performance and massive scale, that makes it easy for any developer to rapidly build RESTful API services. Most frameworks offer only a simple HTTP router and frontend toolkit. RapidREST offers a batteries included solution that includes HTTP router, database management and persistence layer, integrated caching, Roles Based Access Control, server-side rendering for React and more. It's never been easier to develop modern REST API services and web apps in a single unified codebase.

RapidREST Libraries

RapidREST is split into a small number of focused packages that build on each other:

PackageWhat it does
@rapidrest/coreDependency injection (@Inject, @Config, @Logger), automatic class discovery, and shared utilities (JWT, notifications, telemetry).
@rapidrest/service-coreThe HTTP server itself — a dual-engine design (uWebSockets.js on Node.js, Bun.serve() on Bun, see HTTP Engine). Routing, models & persistence, auth & RBAC, background jobs, and automatic OpenAPI generation.
@rapidrest/reactServer-side-rendered React pages, layered on top of service-core.
@rapidrest/authLibrary for common authentication strategies: password, TOTP, OTP, WebAuthn passkeys/FIDO2, MFA, and OIDC.
@rapidrest/cliProject scaffolding and the local dev workflow (rapidrest generate ..., rapidrest dev).

You'll typically never install core or service-core directly. The CLI wires them up for you.

How discovery works

Most of what feels like "magic" in RapidREST comes down to one idea: every class you export from your project's source tree is automatically discovered and registered by a component called ClassLoader. Add a file under src/routes/, export a class annotated with @Route, and it's live. No manual registration step, no central router file to keep in sync. The same mechanism powers models, background jobs, and event listeners. This is covered in depth in Core Concepts.

What's next

  • Getting Started: install the CLI and scaffold your first server.
  • Performance: how RapidREST compares to Express, Fastify, and Next.js under load.
  • SSR React: the flagship feature, server-rendered pages without a second framework.