mirror of https://github.com/tokio-rs/axum
12 KiB
12 KiB
Community Projects
If your project isn't listed here and you would like it to be, please feel free to create a PR.
Community maintained axum ecosystem
- axum-server: axum-server is a hyper server implementation designed to be used with axum.
- axum-typed-websockets:
axum::extract::ws
with type safe messages. - tower-cookies: Cookie manager middleware
- axum-flash: One-time notifications (aka flash messages) for axum.
- axum-msgpack: MessagePack Extractors for axum.
- axum-sqlx-tx: Request-bound SQLx transactions with automatic commit/rollback based on response.
- aliri_axum and aliri_tower: JWT validation middleware and OAuth2 scopes enforcing extractors.
- ezsockets: Easy to use WebSocket library that integrates with Axum.
- axum_session: Database persistent sessions like pythons flask_sessionstore for Axum.
- axum_session_auth: Persistent session based user login with rights management for Axum.
- axum-auth: High-level http auth extractors for axum.
- axum-keycloak-auth: Protect axum routes with a JWT emitted by Keycloak.
- axum-tungstenite: WebSocket connections for axum directly using tungstenite
- axum-jrpc: Json-rpc extractor for axum
- axum-tracing-opentelemetry: Middlewares and tools to integrate axum + tracing + opentelemetry
- svelte-axum-project: Template and example for Svelte frontend app with Axum as backend
- axum-streams: Streaming HTTP body with different formats: JSON, CSV, Protobuf.
- axum-template: Layers, extractors and template engine wrappers for axum based Web MVC applications
- axum-template: GraphQL and REST API, SurrealDb, JWT auth, direct error handling, request logs
- axum-guard-logic: Use AND/OR logic to extract types and check their values against
Service
inputs. - axum-casbin-auth: Casbin access control middleware for axum framework
- aide: Code-first Open API documentation generator with axum integration.
- axum-typed-routing: Statically typed routing macros with OpenAPI generation using aide.
- axum-jsonschema: A
Json<T>
extractor that does JSON schema validation of requests. - tower-sessions: Cookie-based sessions.
- axum-login: Session-based user authentication for axum.
- axum-csrf-sync-pattern: A middleware implementing CSRF STP for AJAX backends and API endpoints.
- axum-otel-metrics: A axum OpenTelemetry Metrics middleware with prometheus exporter supported.
- jwt-authorizer: JWT authorization layer for axum (oidc discovery, validation options, claims extraction, etc.)
- axum-typed-multipart: Type safe wrapper for
axum::extract::Multipart
. - tower-governor: A Tower service and layer that provides a rate-limiting backend by governor
- axum-restful: A restful framework based on axum and sea-orm, inspired by django-rest-framework.
- springtime-web-axum: A web framework built on Springtime and axum, leveraging dependency injection for easy app development.
- rust-axum-with-google-oauth: website template for Google OAuth authentication on Axum, using SQLite with SQLx or MongoDB and MiniJinja.
- axum-htmx: Htmx extractors and request guards for axum.
- axum-prometheus: A middleware library to collect HTTP metrics for axum applications, compatible with all metrics.rs exporters.
- axum-valid: Extractors for data validation using validator, garde, and validify.
- tower-sessions: Sessions as a
tower
andaxum
middleware. - shuttle: Build & ship backends without writing any infrastructure files. Now with Axum support.
- socketioxide: An easy to use socket.io server implementation working as a
tower
layer/service. - axum-serde: Provides multiple serde-based extractors / responses, also offers a macro to easily customize serde-based extractors / responses.
- loco.rs: A full stack Web and API productivity framework similar to Rails, based on Axum.
- axum-test: High level library for writing Cargo tests that run against Axum.
- axum-messages: One-time notification messages for Axum.
- spring-rs: spring-rs is a microservice framework written in rust inspired by java's spring-boot, based on axum
- zino: Zino is a next-generation framework for composable applications which provides full integrations with axum.
Project showcase
- HomeDisk: ☁️ Fast, lightweight and Open Source local cloud for your data.
- Houseflow: House automation platform written in Rust.
- JWT Auth: JWT auth service for educational purposes.
- ROAPI: Create full-fledged APIs for static datasets without writing a single line of code.
- notify.run: HTTP-to-WebPush relay for sending desktop/mobile notifications to yourself, written in Rust.
- turbo.fish (repository): Find out for yourself 😉
- Book Management: CRUD system of book-management with ORM and JWT for educational purposes.
- realworld-axum-sqlx: A Rust implementation of the Realworld demo app spec using Axum and SQLx. See https://github.com/davidpdrsn/realworld-axum-sqlx for a fork with up to date dependencies.
- Rustapi: RESTful API template using MongoDB
- axum-postgres-template: Production-ready Axum + PostgreSQL application template
- RUSTfulapi: Reusable template for building REST Web Services in Rust. Uses Axum HTTP web framework and SeaORM.
- Jotsy: Self-hosted notes app powered by Skytable, Axum and Tokio
- Svix (repository): Enterprise-ready webhook service
- emojied (repository): Shorten URLs to emojis!
- CLOMonitor (repository): Checks open source projects repositories to verify they meet certain best practices.
- Pinging.net (repository): A new way to check and monitor your internet connection.
- wastebin: A minimalist pastebin service.
- sandbox_axum_observability A Sandbox/showcase project to experiment axum and observability (tracing, opentelemetry, jaeger, grafana tempo,...)
- axum_admin: An admin panel built with axum, Sea-orm and Vue 3.
- rgit: A blazingly fast Git repository browser, compatible with- and heavily inspired by cgit.
- Petclinic: A port of Spring Framework's Petclinic showcase project to Axum
- axum-middleware-example: A authorization application using Axum-web, Casbin and Diesel, with JWT support.
- circleci-hook: Translate CircleCI WebHooks to OpenTelemetry traces to improve your test insights. Add detail with otel-cli to capture individual commands. Use the TRACEPARENT integration to add details from your tests.
- lishuuro.org: Small chess variant server that uses Rust as backend(Axum framework).
- freedit: A forum powered by rust.
- axum-http-auth-example: Axum http auth example using postgres and redis.
- Deaftone: Lightweight music server. With a clean and simple API
- dropit: Temporary file hosting.
- cobrust: Multiplayer web based snake game.
- meta-cross: Tweaked version of Tic-Tac-Toe.
- httq HTTP to MQTT trivial proxy.
- ReductStore: A time series database for storing and managing large amounts of blob data
- randoku: A tiny web service which generates random numbers and shuffles lists randomly
- sero: Host static sites with custom subdomains as surge.sh does. But with full control and cool new features. (axum, sea-orm, postgresql)
- Hatsu: 🩵 Self-hosted & Fully-automated ActivityPub Bridge for Static Sites.
- Mini RPS: Mini reverse proxy server, HTTPS, CORS, static file hosting and template engine (minijinja).
Tutorials
- Rust on Nails: A full stack architecture for Rust web applications (uses Axum)
- axum-tutorial (website): Axum web framework tutorial for beginners.
- demo-rust-axum: Demo of Rust and axum web framework
- Introduction to axum (talk): Talk about axum from the Copenhagen Rust Meetup.
- Getting Started with Axum: Axum tutorial, GET, POST endpoints and serving files.
- Using Rust, Axum, PostgreSQL, and Tokio to build a Blog
- Introduction to axum: YouTube playlist
- Rust Axum Full Course: YouTube video
- Deploying Axum projects with Shuttle
- API Development with Rust: REST APIs based on Axum
Building a SaaS with Rust & Next.js A tutorial for combining Next.js with Rust via Axum to make a SaaS.