webapp.rs

From public sources

A web application completely written in Rust. 🌍

ApplicationCategory: Web Apps · CMS & publishing · Project managementOpen sourcedata checked Oct 16, 2026

Overview

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

Installation

Commands are shown, never run by the marketplace. Check them against the official documentation.
  • Language package registryFrom public sourcesfrom the package manifest — publication on the registry is not verified
    cargo install webapp

    Not verified: check that this package in the registry belongs to this project before installing.

    crates.io/crates/webapp ↗
  • Build from sourceFrom public sourcesfrom catalog metadata

    Build from source: no validated build recipe — follow the repository instructions.

    github.com/saschagrunert/webapp.rs ↗

Compatibility

Unknown means no evidence was found — not that the product is incompatible.
PlatformStatusArchitectureEvidenceConfidence
Web browserUnknown———
Server / self-hostedUnknown———
Container (OCI)Unknown———

Releases

checked Oct 30, 2026
v2.0.0LatestMar 24, 2026Official source ↗

Files in 2.0.0

This release has no attached files.

Release history

Quality profile

algorithm quality-v1.0 · assessed Oct 16, 2026
Quality Score89
Risk Score0
Confidence 1.00
Quality Score and Risk Score are different measures. A high score does not guarantee safety.

Score components

Maintenance · 2020
last activity 1 days ago
Documentation · 1515
README 4231 chars, description present
Ready to use · 1515
install instructions: yes; releases: yes
Metadata · 108
3/4 of description, homepage, license, topics
Releases · 108
2 release(s), latest 205 days ago
Category confidence · 105
classifier confidence 0.5
Adoption · 108
2251 stars (log-dampened, 10k = max)
License clarity · 55
SPDX Apache-2.0
Community · 55
issues enabled, 219 forks

License

Apache-2.0
Known licensefrom the repository host

This is the catalog policy status, not legal advice.

Sources

github.com/saschagrunert/webapp.rsPrimary★ 2,251 starslast activity Oct 15, 2026Primary repository · Confidence 1.00

Reviews

Sign in to write a review

No reviews yet.

Alternatives

README

From saschagrunert/webapp.rs · license Apache-2.0 · fetched Oct 30, 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

Open the repository ↗