rapid-web

Crates.iorapid-web
lib.rsrapid-web
version0.4.9
sourcesrc
created_at2023-02-21 19:21:46.58354
updated_at2023-09-27 21:36:34.44076
descriptionA simple Rust server for the Rapid framework.
homepagehttps://cincinnati.ventures
repositoryhttps://github.com/DarrenBaldwin07/rapid
max_upload_size
id791020
size218,482
Darren Baldwin (DarrenBaldwin07)

documentation

README

banner-web

Rapid-web

A blazingly fast, modern, and simple Rust server framework enabling end-to-end typesafety for Typescript-based frontends

rapid.cincinnati.ventures

Initial features

  • Simplified router + middleware
  • File based routing
  • Codegen for typescript clients (rust types -> typescript types) with extractor type safety
  • Hot reload dev server
  • Good defaults (CORS, logging middleware, custom error pages and better extractor error logging)
  • Built-in actix crates (files, auth, etc)
  • Easy JWT validation (authorization via clerk.dev) and middleware
  • Scaffolded diesel orm, connection pooling, mailer, server state
  • rapid extract command for extracting-out a rust backend from its frontend when scaling (with support for route typesafety via A types lib with a git path)
  • Typescript and rust type generation from Diesel schema
  • Better request/response logging in console for easy debugging
  • Generators for route genration (rapid generate)
  • Auto-serve all static assets from the /public folder
  • A one-line SpaRouter for serving single page applications from a rapid-web server
    • Semi SSR for applying meta tags an OG-images (rapid calls it "meta" rendering)
  • Clerk sdk

Next features

  • Custom async-first ORM (called "Lightning")

  • Specific queries (like GraphQL but without the overhead)

  • React query integration

  • Plugins

Acknowledgments

  • Rapid is built on-top of one the most performant web server frameworks in the world (actix-web) and would not be possible without its existance.

Note: We do not recommend that you use Rapid in production as all of its core implementations are subject to change rapidly :)

Commit count: 854

cargo fmt