{"id":15566965,"url":"https://github.com/darrenbaldwin07/rapid","last_synced_at":"2025-04-09T20:12:24.574Z","repository":{"id":153279329,"uuid":"597932719","full_name":"DarrenBaldwin07/rapid","owner":"DarrenBaldwin07","description":"Build type-safe web apps with Rust and Typescript","archived":false,"fork":false,"pushed_at":"2023-10-08T13:44:35.000Z","size":3393,"stargazers_count":70,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-09T20:12:18.680Z","etag":null,"topics":["framework","fullstack","hacktoberfest","rapid","react","rust","typescript","web"],"latest_commit_sha":null,"homepage":"https://rapidframework.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DarrenBaldwin07.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.MD","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-06T02:46:29.000Z","updated_at":"2025-02-11T21:35:44.000Z","dependencies_parsed_at":"2024-10-11T06:01:26.367Z","dependency_job_id":"8567224c-8051-4981-bfa6-86cac235ccb1","html_url":"https://github.com/DarrenBaldwin07/rapid","commit_stats":{"total_commits":798,"total_committers":9,"mean_commits":88.66666666666667,"dds":0.1278195488721805,"last_synced_commit":"b705720d4c01300881264c1f48a0cea73545b9dd"},"previous_names":["darrenbaldwin07/rapid","cincinnati-ventures/rapid"],"tags_count":66,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DarrenBaldwin07%2Frapid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DarrenBaldwin07%2Frapid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DarrenBaldwin07%2Frapid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DarrenBaldwin07%2Frapid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DarrenBaldwin07","download_url":"https://codeload.github.com/DarrenBaldwin07/rapid/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248103872,"owners_count":21048245,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["framework","fullstack","hacktoberfest","rapid","react","rust","typescript","web"],"created_at":"2024-10-02T17:09:10.598Z","updated_at":"2025-04-09T20:12:24.538Z","avatar_url":"https://github.com/DarrenBaldwin07.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![banner (10)](https://github.com/Cincinnati-Ventures/rapid/assets/68653294/ac30ab86-5016-48c0-8026-5141b4411052)\n\n\u003ch1 align='center'\u003eRapid\u003c/h1\u003e\n\u003ch4 align='center'\u003eThe intersection between developer experience and scalability\u003c/h4\u003e\n\u003cdiv align='center'\u003e\n    \u003ca href='https://rapidframework.dev' target='_blank'\u003erapidframework.dev\u003c/a\u003e\n\u003c/div\u003e\n\n[![OSSRank](https://shields.io/endpoint?url=https://ossrank.com/shield/2856)](https://ossrank.com/p/2856)\n\n# Example\n\nYou define a resolver in Rust and Rapid will automatically generate a type schema that enables full-stack type-safety from frontend to backend:\n\n```rust\nuse rapid_web::actix::HttpResponse;\nuse rapid_web::{rapid_web_codegen::rapid_handler, request::RapidPath};\nuse serde::{Deserialize, Serialize};\n\n// The name/alias for your route (you will use this to call it from the client)\npub const ROUTE_KEY: \u0026str = \"getUser\";\n\n#[derive(Serialize, Deserialize)]\npub struct User {\n    pub id: i32,\n    pub name: String,\n    pub age: u8,\n}\n\npub type RapidOutput = User;\n\n#[rapid_handler]\npub async fn query(user_id: RapidPath\u003ci32\u003e) -\u003e HttpResponse {\n    let user = User {\n        id: user_id.into_inner(),\n        name: \"John\".to_string(),\n        age: 20,\n    };\n    HttpResponse::Ok()\n    .content_type(\"text/html; charset=utf-8\")\n    .body(user)\n}\n```\n\nYou can then make fully type-safe HTTP requests to your rust backend with the `rapid-react` bolt client:\n\n```ts\nimport { createBoltClient } from '@rapid-web/react';\nimport { routes, type Handlers } from './bindings.ts';\n\n// Init your bolt client that you can use throughout your entire app for making requests\nexport const bolt = createBoltClient\u003cHandlers, typeof routes\u003e(routes, {\n\ttransport: 'http://localhost:8080',\n});\n\nconst userId = 1;\n\nconst req = await bolt('getUser').get(routes.getUser, userId);\n```\n\n# What is Rapid?\n\nThe complete fullstack toolkit for building advanced, scaleable, and highly efficient software.\nRapid is a toolkit that enables developers to create fullstack applications built on React and\nRust. Rapid focuses on scalability and performance without sacrificing developer experience.\n\n# Why Rapid?\n\nDevelopers have been building entire fullstack applications with ONE single language since the\nbeginning of software and technology (C, C++, Java, Ruby, PHP, nodejs, etc). As time has\nprogressed, programming languages have began to specialize and become more directed towards\nsolving hyper specific problems. However, developers have still preferred the single language\nstack -- hence the popularity of things like [NodeJS](https://nodejs.org).\n\n## Why is the single language stack so popular?\n\nDeveloping applications with one language front-to-back means that engineers have the ability to\nshare business logic across their entire development process, allowing them to iterate very\nquickly (additionally, things like hiring a development team are much easier and usually\ncheaper with a simpler tech stack). The downsides of this approach is that many languages\n(such as Javascript) were never meant to do absolutely everything -- this results in a situation\nwhere tools are used to solve problems they were never meant to solve.\n\nBecause of this, companies are often forced to move off of tooling as applications grow in\nscale. But what if we could use technologies at the beginning of the product development process\nthat offers the great DX and simplicity of NodeJS without sacrificing scalability and\nperformance?\n\nEnter, Rapid -- a fullstack toolkit for building software applications with React and Rust!\n\n# How it works\n\n\u003e Rapid is built to be very opinionated -- make less technical decisions, write more software, ship faster MVPs.\n\nRapid uses React and Rust as the foundation for its fullstack tooling. Do your heavy compute in Rust,\nrender your user interface with React. Heavily integrated into Rapid is a feature rich CLI, allowing\ndevelopers to create fullstack or backend applications with ease (`rapid new --fullstack` or\n`rapid new --server`).\n\nThings like server-side rendering, hot-reload, Built-in UI components, authentication and much\nmore come completely out-of-the-box with Rapid.\n\n# Rapid Libs\n\nRapid is built on multiple React and Rust libraries. View them below:\n\n### Backend\n\n-   [Rapid-web](https://crates.io/crates/rapid-web)\n-   Rapid-ssr (coming soon...)\n-   [Rapid-cli](https://crates.io/crates/rapid-cli)\n-   [Rapid-web-codegen](https://crates.io/crates/rapid-web-codegen)\n\n### Frontend\n\n-   [@Rapid-web/react](https://www.npmjs.com/package/@rapid-web/react)\n-   [@Rapid-web/ui](https://www.npmjs.com/package/@rapid-web/ui)\n\n# Roadmap\n\n### MVP\n\n-   Rapid Web - A web server framework (rapid new --server)\n-   Rapid Ui -- a fully featured UI and CSS framework\n-   React frontend lib for data fetching, auth, etc\n-   Fullstack rapid apps with `remix.run` or `nextjs` (`rapid new --remix` or `rapid new --nextjs`)\n\n### Next\n\n-   New mutation API for rapid-web\n-   Easy deployments with `rapid deploy` (GCP, Docker, Cloudflare, Netlify)\n-   `rapid extract` command for using rapid-web outside of a monorepo and maintaining full typesafety\n-   React-query and SWR integrations for rapid-web\n-   Icon library integrated into @Rapid/ui\n-   Wasm powered server functions?!\n-   Much more coming soon...\n\n### Maybe\n\n-   A full featured react meta-framework built on Rapid (leveraging Rust and RSC)\n-   Rapid ORM (fully async ORM inspired by Prisma and built for Rust)\n\n# Getting Started\n\nRefer to our getting started documents below:\n\n-   [Rapid-UI](https://github.com/Cincinnati-Ventures/rapid/blob/main/docs/rapid-ui/gettingStarted.md)\n-   Rapid-Web (Coming soon)\n-   [Setting up a development environment](https://github.com/Cincinnati-Ventures/rapid/blob/main/docs/dev.md)\n\n\u003c/br\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarrenbaldwin07%2Frapid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdarrenbaldwin07%2Frapid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarrenbaldwin07%2Frapid/lists"}