webapp.rs

Ochiq manbalardan

Toʻliq Rust tilida yozilgan veb-ilova. 🌍

Mashina tarjimasi · Asl matnni koʻrsatish

A web application completely written in Rust. 🌍

IlovaKategoriya: Veb-ilovalar · CMS va nashr · Loyihalarni boshqarishOpen sourcemaʼlumot tekshirilgan: 16-okt, 2026

Sharh

  • actix-web
  • backend
  • diesel
  • diesel-rs
  • frontend
  • http-server
  • postgresql
  • rust
  • webapp
  • website

Oʻrnatish

Buyruqlar faqat koʻrsatiladi, marketpleys ularni bajarmaydi. Rasmiy hujjatlar bilan solishtiring.
  • Til paketlari reyestriOchiq manbalardanpaket manifestidan — reyestrda chop etilgani tekshirilmagan
    cargo install webapp

    Tekshirilmagan: oʻrnatishdan oldin reyestrdagi paket aynan shu loyihaga tegishli ekanini tekshiring.

    crates.io/crates/webapp ↗
  • Manbadan yigʻishOchiq manbalardankatalog metamaʼlumotlaridan

    Manbadan yigʻish: tekshirilgan yigʻish retsepti yoʻq — repozitoriy koʻrsatmalariga amal qiling.

    github.com/saschagrunert/webapp.rs ↗

Moslik

«Nomaʼlum» dalil topilmaganini bildiradi, mahsulot mos emasligini emas.
PlatformaHolatArxitekturaDalilIshonchlilik
Web browserNomaʼlum———
Server / self-hostedNomaʼlum———
Container (OCI)Nomaʼlum———

Relizlar

tekshirilgan: 30-okt, 2026
v2.0.0Oxirgi24-mar, 2026Rasmiy manba ↗

2.0.0 versiyasi fayllari

Relizga fayllar biriktirilmagan.

Relizlar tarixi

Sifat profili

algoritm quality-v1.0 · baholangan 16-okt, 2026
Sifat bahosi89
Xavf bahosi0
Ishonchlilik 1.00
Sifat bahosi va xavf bahosi — turli koʻrsatkichlar. Yuqori sifat xavfsizlikni kafolatlamaydi.

Baho tarkibi

Qoʻllab-quvvatlash · 2020
last activity 1 days ago
Hujjatlar · 1515
README 4231 chars, description present
Foydalanishga tayyorlik · 1515
install instructions: yes; releases: yes
Metamaʼlumotlar · 108
3/4 of description, homepage, license, topics
Relizlar · 108
2 release(s), latest 205 days ago
Kategoriya aniqligi · 105
classifier confidence 0.5
Ommaboplik · 108
2251 stars (log-dampened, 10k = max)
Litsenziya aniqligi · 55
SPDX Apache-2.0
Hamjamiyat · 55
issues enabled, 219 forks

Litsenziya

Apache-2.0
Litsenziya maʼlumrepozitoriy xostingi maʼlumotlariga koʻra

Bu katalog siyosati holati, yuridik xulosa emas.

Manbalar

github.com/saschagrunert/webapp.rsAsosiy★ 2 251 yulduzfaollik: 15-okt, 2026Asosiy repozitoriy · Ishonchlilik 1.00

Sharhlar

Sharh yozish uchun kiring

Hali sharhlar yoʻq.

Muqobillar

README

saschagrunert/webapp.rs dan · litsenziya Apache-2.0 · yuklangan 30-okt, 2026

webapp.rs

[CI] [Docs] [Coverage] [Docs] [Crates.io] [License Apache 2.0]

A web application completely written in Rust

Target of this project is to write a complete web application including backend and frontend within Rust.

graph LR
    A[Leptos / WASM<br>in browser] -->|SSR / RPC| B[Axum<br>HTTP Server]
    B --> C[SQLx]
    C --> D[(PostgreSQL)]

Blog Posts

  1. A Web Application completely in Rust.
  2. Lessons learned on writing web applications completely in Rust.

Architecture

ComponentTechnology
FrontendLeptos (WebAssembly with SSR + hydration)
BackendAxum (via leptos_axum)
DatabasePostgreSQL (via SQLx)
AuthJWT tokens (jsonwebtoken) + Argon2 password hashing

The application uses Leptos server functions to communicate between frontend and backend, eliminating the need for a separate REST API layer. Both server and client are compiled from a single Rust crate.

Features

  • User registration with Argon2 password hashing
  • Login with username and password
  • JWT-based session management with automatic renewal
  • PostgreSQL session and user storage
  • CSRF protection via origin validation
  • Health check endpoint (/healthz) for container orchestration
  • Server-side rendering with client-side hydration
  • Single binary deployment

Prerequisites

Getting Started

Start a PostgreSQL instance:

docker run -d --name postgres \
    -e POSTGRES_USER=webapp \
    -e POSTGRES_PASSWORD=webapp \
    -e POSTGRES_DB=webapp \
    -p 5432:5432 \
    postgres:17

Run the application:

export DATABASE_URL=postgres://webapp:webapp@localhost/webapp
cargo leptos watch

The application will be available at http://127.0.0.1:3000.

Register a new account using the "Register" link on the login page, then log in with your credentials.

Configuration

Environment VariableDescriptionDefault
DATABASE_URLPostgreSQL connection stringpostgres://localhost/webapp
JWT_SECRETSecret key for JWT token signingchange-me-in-production
LEPTOS_SITE_ADDRServer listen address127.0.0.1:3000

Container

Build and run as a container:

docker build -t webapp .
docker run -p 3000:3000 \
    -e DATABASE_URL=postgres://webapp:webapp@host.docker.internal/webapp \
    webapp

Development

cargo fmt --check                              # Check formatting
cargo clippy --features ssr -- -D warnings     # Lint server code
cargo test --features ssr                      # Run tests
cargo leptos build                             # Build for development
cargo leptos build --release                   # Build for production

Contributing

You want to contribute to this project? Wow, thanks! So please just fork it and send me a pull request.

License

Apache 2.0

Repozitoriyni ochish ↗