| Crates.io | rustnext |
| lib.rs | rustnext |
| version | 0.1.1 |
| created_at | 2025-07-15 16:07:36.937075+00 |
| updated_at | 2025-07-15 16:28:35.704337+00 |
| description | A modern, fast web framework for Rust |
| homepage | |
| repository | https://github.com/zaoinc/rustnext |
| max_upload_size | |
| id | 1753547 |
| size | 323,641 |
# RustNext Web Framework


A high-performance web framework for Rust inspired by Next.js, featuring:
- 🚀 Full-stack capabilities in a single codebase
- ⚡ Blazing fast performance
- 🧩 Declarative UI components
- 🔄 Built-in API routes
- 📝 Form handling utilities
## Table of Contents
- [Features](#-features)
- [Quick Start](#-quick-start)
- [Examples](#-examples)
- [Project Structure](#-project-structure)
- [Configuration](#-configuration)
- [Contributing](#-contributing)
- [License](#-license)
## ✨ Features
| Feature | Description |
|-----------------------|-----------------------------------------------------------------------------|
| **Type-safe APIs** | Compile-time validated routes and handlers |
| **UI Components** | Reusable, declarative views with server-side rendering |
| **Zero Config** | Sensible defaults with minimal setup required |
| **Middleware** | Built-in auth, logging, and compression |
| **Form Handling** | Easy form parsing and validation |
| **File Uploads** | Streaming file upload support |
## 🚀 Quick Start
1. Install Rust (if needed):
```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Create a new project:
cargo new my_rustnext_app
cd my_rustnext_app
Add RustNext to your dependencies:
[dependencies]
rustnext = "0.1"
Create your first component in src/main.rs:
use rustnext::prelude::*;
#[component]
fn App() -> Markup {
html! {
h1 { "Hello RustNext!" }
}
}
fn main() {
RustNext::new()
.route("/", App)
.run();
}
Run your app:
cargo run
cargo run --example project_dashboard_app
Demonstrates:
cargo run --example product_catalog_app
Demonstrates:
Access both examples at: http://localhost:3000
my_rustnext_app/
├── src/
│ ├── components/ # UI components
│ ├── pages/ # Page layouts
│ ├── api/ # API routes
│ └── main.rs # Application entry
├── static/ # Static assets
├── Cargo.toml
└── config.toml # Configuration
Edit config.toml:
[server]
host = "0.0.0.0"
port = 3000
[database]
url = "postgres://user:pass@localhost/db" # Optional
[features]
logging = true
compression = true
We welcome contributions! Please:
See our Contribution Guidelines for details.
MIT © [sazalo]