{"id":17825047,"url":"https://github.com/levkk/rwf","last_synced_at":"2025-05-14T05:10:22.325Z","repository":{"id":257935981,"uuid":"821224391","full_name":"levkk/rwf","owner":"levkk","description":"Comprehensive framework for building web applications in Rust.","archived":false,"fork":false,"pushed_at":"2025-01-02T14:00:54.000Z","size":2350,"stargazers_count":1036,"open_issues_count":25,"forks_count":21,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-05-08T18:48:08.982Z","etag":null,"topics":["apps","framework","models","mvc","orm","rust","templates","web"],"latest_commit_sha":null,"homepage":"https://rustwebframework.org/","language":"Rust","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/levkk.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"levkk","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":"levkk","thanks_dev":null,"custom":null}},"created_at":"2024-06-28T04:50:35.000Z","updated_at":"2025-05-08T00:50:12.000Z","dependencies_parsed_at":"2024-11-11T22:18:33.334Z","dependency_job_id":"25a2aa1a-fe3b-4d4d-ae70-60365ec89457","html_url":"https://github.com/levkk/rwf","commit_stats":null,"previous_names":["levkk/rwf"],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levkk%2Frwf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levkk%2Frwf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levkk%2Frwf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levkk%2Frwf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/levkk","download_url":"https://codeload.github.com/levkk/rwf/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253411468,"owners_count":21904141,"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":["apps","framework","models","mvc","orm","rust","templates","web"],"created_at":"2024-10-27T18:01:41.686Z","updated_at":"2025-05-14T05:10:22.296Z","avatar_url":"https://github.com/levkk.png","language":"Rust","readme":"# Rwf \u0026dash; Rust Web Framework\r\n\r\n[![Documentation](https://img.shields.io/badge/documentation-blue?style=flat)](https://levkk.github.io/rwf/)\r\n[![Latest crate](https://img.shields.io/crates/v/rwf.svg)](https://crates.io/crates/rwf)\r\n[![Reference docs](https://img.shields.io/docsrs/rwf)](https://docs.rs/rwf/latest/rwf/)\r\n[![Discord](https://img.shields.io/discord/1312902913974210600)](https://discord.gg/Q62HmJegPY)\r\n\r\n\r\nRwf is a comprehensive framework for building web applications in Rust. Written using the classic MVC  pattern (model-view-controller), Rwf comes standard with everything you need to easily build fast and secure web apps.\r\n\r\n## Documentation\r\n\r\n\u0026#128216; The documentation **[is available here](https://levkk.github.io/rwf/)**.\r\n\r\n## Features overview\r\n\r\n- \u0026#10004; [HTTP server](https://github.com/levkk/rwf/tree/main/examples/quick-start)\r\n- \u0026#10004; User-friendly [ORM](https://github.com/levkk/rwf/tree/main/examples/orm) to build PostgreSQL queries easily\r\n- \u0026#10004; [Dynamic templates](https://github.com/levkk/rwf/tree/main/examples/dynamic-templates)\r\n- \u0026#10004; [Authentication](https://github.com/levkk/rwf/tree/main/examples/auth) \u0026 built-in user sessions\r\n- \u0026#10004; [Middleware](https://github.com/levkk/rwf/tree/main/examples/middleware)\r\n- \u0026#10004; [Background jobs](https://github.com/levkk/rwf/tree/main/examples/background-jobs) and [scheduled jobs](https://github.com/levkk/rwf/tree/main/examples/scheduled-jobs)\r\n- \u0026#10004; Database migrations\r\n- \u0026#10004; Built-in [REST framework](https://github.com/levkk/rwf/tree/main/examples/rest) with JSON serialization\r\n- \u0026#10004; WebSockets support\r\n- \u0026#10004; [Static files](https://github.com/levkk/rwf/tree/main/examples/static-files) hosting\r\n- \u0026#10004; Tight integration with [Hotwired Turbo](https://turbo.hotwired.dev/) for building [backend-driven SPAs](https://github.com/levkk/rwf/tree/main/examples/turbo)\r\n- \u0026#10004; Environment-specific configuration\r\n- \u0026#10004; Logging and metrics\r\n- \u0026#10004; [CLI](https://github.com/levkk/rwf/tree/main/rwf-cli)\r\n- \u0026#10004; WSGI server for [migrating](https://github.com/levkk/rwf/tree/main/examples/django) from Django/Flask apps\r\n- \u0026#10004; Rack server for [migrating](https://github.com/levkk/rwf/tree/main/examples/rails) from Rails\r\n\r\n## Quick start\r\n\r\nTo add Rwf to your stack, create a Rust binary application and add `rwf` to your dependencies:\r\n\r\n```bash\r\ncargo add rwf\r\n```\r\n\r\nBuilding an app is then as simple as:\r\n\r\n```rust\r\nuse rwf::prelude::*;\r\nuse rwf::http::Server;\r\n\r\n#[controller]\r\nasync fn index() -\u003e Response {\r\n    Response::new().html(\"\u003ch1\u003eWelcome to Rwf!\u003c/h1\u003e\")\r\n}\r\n\r\n#[tokio::main]\r\nasync fn main() {\r\n    Server::new(vec![\r\n        route!(\"/\" =\u003e index),\r\n    ])\r\n    .launch()\r\n    .await\r\n    .unwrap();\r\n}\r\n```\r\n\r\n## Examples\r\n\r\nSee [examples](https://github.com/levkk/rwf/tree/main/examples) for common use cases.\r\n\r\n## \u0026#128678; Status \u0026#128678;\r\n\r\nRwf is in beta and looking for early adopters. Most features are in a good state and documentation is usable.\r\n\r\n### \u0026#128295; Contributions\r\n\r\nContributions are welcome. Please see [CONTRIBUTING](https://github.com/levkk/rwf/tree/main/CONTRIBUTING.md) for guidelines, [ARCHITECTURE](https://github.com/levkk/rwf/tree/main/ARCHITECTURE.md) for a tour of the code, and [ROADMAP](https://github.com/levkk/rwf/tree/main/ROADMAP.md) for a non-exhaustive list of desired features.\r\n","funding_links":["https://github.com/sponsors/levkk","https://buymeacoffee.com/levkk"],"categories":["\u003ca name=\"Rust\"\u003e\u003c/a\u003eRust","Rust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flevkk%2Frwf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flevkk%2Frwf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flevkk%2Frwf/lists"}