2021-11-03 16:20:01 +08:00
# 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
2021-11-09 16:39:03 +08:00
- [axum-server ](https://crates.io/crates/axum-server ): axum-server is a hyper server implementation designed to be used with axum.
2021-11-03 17:26:20 +08:00
- [axum-typed-websockets ](https://crates.io/crates/axum-typed-websockets ): `axum::extract::ws` with type safe messages.
2021-11-25 00:44:34 +08:00
- [tower-cookies ](https://crates.io/crates/tower-cookies ): Cookie manager middleware
2021-11-08 00:17:13 +08:00
- [axum-flash ](https://crates.io/crates/axum-flash ): One-time notifications (aka flash messages) for axum.
2022-01-22 17:13:53 +08:00
- [axum-msgpack ](https://crates.io/crates/axum-msgpack ): MessagePack Extractors for axum.
2022-03-05 08:26:40 +08:00
- [axum-sqlx-tx ](https://crates.io/crates/axum-sqlx-tx ): Request-bound [SQLx ](https://github.com/launchbadge/sqlx#readme ) transactions with automatic commit/rollback based on response.
2022-06-18 14:06:31 +08:00
- [aliri_axum ](https://docs.rs/aliri_axum ) and [aliri_tower ](https://docs.rs/aliri_tower ): JWT validation middleware and OAuth2 scopes enforcing extractors.
2022-03-26 23:22:07 +08:00
- [ezsockets ](https://github.com/gbaranski/ezsockets ): Easy to use WebSocket library that integrates with Axum.
2023-03-13 23:44:33 +08:00
- [axum_session ](https://github.com/AscendingCreations/AxumSessions ): Database persistent sessions like pythons flask_sessionstore for Axum.
2023-08-08 16:40:44 +08:00
- [axum_session_auth ](https://github.com/AscendingCreations/AxumSessionsAuth ): Persistent session based user login with rights management for Axum.
2022-04-01 14:19:14 +08:00
- [axum-auth ](https://crates.io/crates/axum-auth ): High-level http auth extractors for axum.
2023-03-26 23:10:00 +08:00
- [axum-keycloak-auth ](https://github.com/lpotthast/axum-keycloak-auth ): Protect axum routes with a JWT emitted by Keycloak.
2022-05-15 23:26:37 +08:00
- [axum-tungstenite ](https://github.com/davidpdrsn/axum-tungstenite ): WebSocket connections for axum directly using tungstenite
2022-05-26 18:07:26 +08:00
- [axum-jrpc ](https://github.com/0xdeafbeef/axum-jrpc ): Json-rpc extractor for axum
2022-06-12 03:33:39 +08:00
- [axum-tracing-opentelemetry ](https://crates.io/crates/axum-tracing-opentelemetry ): Middlewares and tools to integrate axum + tracing + opentelemetry
2022-07-31 15:13:09 +08:00
- [svelte-axum-project ](https://github.com/jbertovic/svelte-axum-project ): Template and example for Svelte frontend app with Axum as backend
2022-07-31 22:47:51 +08:00
- [axum-streams ](https://github.com/abdolence/axum-streams-rs ): Streaming HTTP body with different formats: JSON, CSV, Protobuf.
2022-08-12 18:09:13 +08:00
- [axum-template ](https://github.com/Altair-Bueno/axum-template ): Layers, extractors and template engine wrappers for axum based Web MVC applications
2023-11-21 17:59:04 +08:00
- [axum-template ](https://github.com/janos-r/axum-template ): GraphQL and REST API, SurrealDb, JWT auth, direct error handling, request logs
2022-09-03 23:54:25 +08:00
- [axum-guard-logic ](https://github.com/sjud/axum_guard_logic ): Use AND/OR logic to extract types and check their values against `Service` inputs.
2022-09-19 03:34:13 +08:00
- [axum-casbin-auth ](https://github.com/casbin-rs/axum-casbin-auth ): Casbin access control middleware for axum framework
2022-09-09 02:30:41 +08:00
- [aide ](https://docs.rs/aide ): Code-first Open API documentation generator with [axum integration ](https://docs.rs/aide/latest/aide/axum/index.html ).
2024-03-15 06:12:15 +08:00
- [axum-typed-routing ](https://docs.rs/axum-typed-routing/latest/axum_typed_routing/ ): Statically typed routing macros with OpenAPI generation using aide.
2022-09-09 02:30:41 +08:00
- [axum-jsonschema ](https://docs.rs/axum-jsonschema/ ): A `Json<T>` extractor that does JSON schema validation of requests.
2022-11-21 04:51:51 +08:00
- [axum-login ](https://docs.rs/axum-login ): Session-based user authentication for axum.
2022-11-24 16:59:10 +08:00
- [axum-csrf-sync-pattern ](https://crates.io/crates/axum-csrf-sync-pattern ): A middleware implementing CSRF STP for AJAX backends and API endpoints.
2022-11-26 00:41:59 +08:00
- [axum-otel-metrics ](https://github.com/ttys3/axum-otel-metrics/ ): A axum OpenTelemetry Metrics middleware with prometheus exporter supported.
2023-03-04 23:32:27 +08:00
- [jwt-authorizer ](https://crates.io/crates/jwt-authorizer ): JWT authorization layer for axum (oidc discovery, validation options, claims extraction, etc.)
2023-03-07 06:34:55 +08:00
- [axum-typed-multipart ](https://crates.io/crates/axum_typed_multipart ): Type safe wrapper for `axum::extract::Multipart` .
2023-03-16 01:14:46 +08:00
- [tower-governor ](https://crates.io/crates/tower_governor ): A Tower service and layer that provides a rate-limiting backend by [governor ](https://crates.io/crates/governor )
2023-04-01 15:19:25 +08:00
- [axum-restful ](https://github.com/gongzhengyang/axum-restful ): A restful framework based on axum and sea-orm, inspired by django-rest-framework.
2023-04-21 21:40:08 +08:00
- [springtime-web-axum ](https://crates.io/crates/springtime-web-axum ): A web framework built on Springtime and axum, leveraging dependency injection for easy app development.
2023-08-09 15:30:44 +08:00
- [rust-axum-with-google-oauth ](https://github.com/randommm/rust-axum-with-google-oauth ): website template for Google OAuth authentication on Axum, using SQLite with SQLx or MongoDB and MiniJinja.
- [axum-htmx ](https://github.com/robertwayne/axum-htmx ): Htmx extractors and request guards for axum.
2023-10-25 17:20:07 +08:00
- [axum-prometheus ](https://github.com/ptrskay3/axum-prometheus ): A middleware library to collect HTTP metrics for axum applications, compatible with all [metrics.rs ](https://metrics.rs ) exporters.
2023-11-01 04:59:37 +08:00
- [axum-valid ](https://github.com/gengteng/axum-valid ): Extractors for data validation using validator, garde, and validify.
2023-11-08 15:10:17 +08:00
- [tower-sessions ](https://github.com/maxcountryman/tower-sessions ): Sessions as a `tower` and `axum` middleware.
2023-11-09 01:32:17 +08:00
- [shuttle ](https://github.com/shuttle-hq/shuttle ): Build & ship backends without writing any infrastructure files. Now with Axum support.
2023-11-23 03:37:35 +08:00
- [socketioxide ](https://github.com/totodore/socketioxide ): An easy to use socket.io server implementation working as a `tower` layer/service.
2023-12-02 21:18:45 +08:00
- [axum-serde ](https://github.com/gengteng/axum-serde ): Provides multiple serde-based extractors / responses, also offers a macro to easily customize serde-based extractors / responses.
2023-12-19 15:58:00 +08:00
- [loco.rs ](https://github.com/loco-rs/loco ): A full stack Web and API productivity framework similar to Rails, based on Axum.
2024-01-14 18:35:29 +08:00
- [axum-test ](https://crates.io/crates/axum-test ): High level library for writing Cargo tests that run against Axum.
2024-01-20 03:36:22 +08:00
- [axum-messages ](https://github.com/maxcountryman/axum-messages ): One-time notification messages for Axum.
2024-08-17 23:17:32 +08:00
- [spring-rs ](https://github.com/spring-rs/spring-rs ): spring-rs is a microservice framework written in rust inspired by java's spring-boot, based on axum
2024-09-12 22:14:16 +08:00
- [zino ](https://github.com/zino-rs/zino ): Zino is a next-generation framework for composable applications which provides full integrations with axum.
2021-11-03 16:20:01 +08:00
## Project showcase
2022-07-12 01:22:01 +08:00
- [HomeDisk ](https://github.com/MedzikUser/HomeDisk ): ☁️ Fast, lightweight and Open Source local cloud for your data.
2021-11-03 16:20:01 +08:00
- [Houseflow ](https://github.com/gbaranski/houseflow ): House automation platform written in Rust.
- [JWT Auth ](https://github.com/Z4RX/axum_jwt_example ): JWT auth service for educational purposes.
- [ROAPI ](https://github.com/roapi/roapi ): Create full-fledged APIs for static datasets without writing a single line of code.
- [notify.run ](https://github.com/notify-run/notify-run-rs ): HTTP-to-WebPush relay for sending desktop/mobile notifications to yourself, written in Rust.
2021-11-05 20:23:53 +08:00
- [turbo.fish ](https://turbo.fish/ ) ([repository](https://github.com/jplatte/turbo.fish)): Find out for yourself 😉
2021-12-30 03:12:50 +08:00
- [Book Management ](https://github.com/lz1998/axum-book-management ): CRUD system of book-management with ORM and JWT for educational purposes.
2022-02-01 15:10:03 +08:00
- [realworld-axum-sqlx ](https://github.com/launchbadge/realworld-axum-sqlx ): A Rust implementation of the [Realworld] demo app spec using Axum and [SQLx].
2022-10-15 05:42:58 +08:00
See https://github.com/davidpdrsn/realworld-axum-sqlx for a fork with up to date dependencies.
2022-02-05 07:41:15 +08:00
- [Rustapi ](https://github.com/ndelvalle/rustapi ): RESTful API template using MongoDB
2024-07-05 03:57:25 +08:00
- [axum-postgres-template ](https://github.com/koskeller/axum-postgres-template ): Production-ready Axum + PostgreSQL application template
2024-02-11 19:16:44 +08:00
- [RUSTfulapi ](https://github.com/robatipoor/rustfulapi ): Reusable template for building REST Web Services in Rust. Uses Axum HTTP web framework and SeaORM.
2022-02-05 23:14:36 +08:00
- [Jotsy ](https://github.com/ohsayan/jotsy ): Self-hosted notes app powered by Skytable, Axum and Tokio
2022-02-16 20:25:50 +08:00
- [Svix ](https://www.svix.com ) ([repository](https://github.com/svix/svix-webhooks)): Enterprise-ready webhook service
2022-04-23 23:03:20 +08:00
- [emojied ](https://emojied.net ) ([repository](https://github.com/sekunho/emojied)): Shorten URLs to emojis!
2022-04-27 21:32:51 +08:00
- [CLOMonitor ](https://clomonitor.io ) ([repository](https://github.com/cncf/clomonitor)): Checks open source projects repositories to verify they meet certain best practices.
2022-05-24 22:46:38 +08:00
- [Pinging.net ](https://www.pinging.net ) ([repository](https://github.com/benhansenslc/pinging)): A new way to check and monitor your internet connection.
2022-06-03 20:34:38 +08:00
- [wastebin ](https://github.com/matze/wastebin ): A minimalist pastebin service.
2022-06-12 03:33:39 +08:00
- [sandbox_axum_observability ](https://github.com/davidB/sandbox_axum_observability ) A Sandbox/showcase project to experiment axum and observability (tracing, opentelemetry, jaeger, grafana tempo,...)
2022-07-20 00:04:57 +08:00
- [axum_admin ](https://github.com/lingdu1234/axum_admin ): An admin panel built with **axum** , Sea-orm and Vue 3.
2022-07-27 11:39:09 +08:00
- [rgit ](https://git.inept.dev/~doyle/rgit.git/about ): A blazingly fast Git repository browser, compatible with- and heavily inspired by cgit.
2022-08-12 18:02:52 +08:00
- [Petclinic ](https://github.com/danipardo/petclinic ): A port of Spring Framework's Petclinic showcase project to Axum
2022-09-19 03:34:13 +08:00
- [axum-middleware-example ](https://github.com/casbin-rs/axum-middleware-example ): A authorization application using Axum-web, Casbin and Diesel, with JWT support.
2022-09-27 02:41:49 +08:00
- [circleci-hook ](https://github.com/DavidS/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.
2022-10-25 17:37:21 +08:00
- [lishuuro.org ](https://github.com/uros-5/backend-lishuuro ): Small chess variant server that uses Rust as backend(Axum framework).
2022-11-22 16:26:30 +08:00
- [freedit ](https://github.com/freedit-org/freedit ): A forum powered by rust.
2022-11-26 15:47:32 +08:00
- [axum-http-auth-example ](https://github.com/i0n/axum-http-auth-example ): Axum http auth example using postgres and redis.
2023-02-21 04:04:55 +08:00
- [Deaftone ](https://github.com/Deaftone/Deaftone ): Lightweight music server. With a clean and simple API
2023-03-06 01:19:34 +08:00
- [dropit ](https://github.com/scotow/dropit ): Temporary file hosting.
- [cobrust ](https://github.com/scotow/cobrust ): Multiplayer web based snake game.
- [meta-cross ](https://github.com/scotow/meta-cross ): Tweaked version of Tic-Tac-Toe.
- [httq ](https://github.com/scotow/httq ) HTTP to MQTT trivial proxy.
2024-10-14 16:21:02 +08:00
- [Pods-Blitz ](https://pods-blitz.org ) Self-hosted podcast publisher. Uses the crates axum-login, password-auth, sqlx and handlebars (for HTML templates).
2023-07-15 07:03:20 +08:00
- [ReductStore ](https://github.com/reductstore/reductstore ): A time series database for storing and managing large amounts of blob data
- [randoku ](https://github.com/stchris/randoku ): A tiny web service which generates random numbers and shuffles lists randomly
2023-10-26 06:38:42 +08:00
- [sero ](https://github.com/clowzed/sero ): Host static sites with custom subdomains as surge.sh does. But with full control and cool new features. (axum, sea-orm, postgresql)
2023-12-30 00:47:57 +08:00
- [Hatsu ](https://github.com/importantimport/hatsu ): 🩵 Self-hosted & Fully-automated ActivityPub Bridge for Static Sites.
2024-08-07 01:11:30 +08:00
- [Mini RPS ](https://github.com/marcodpt/minirps ): Mini reverse proxy server, HTTPS, CORS, static file hosting and template engine (minijinja).
2022-02-01 15:10:03 +08:00
[Realworld]: https://github.com/gothinkster/realworld
[SQLx]: https://github.com/launchbadge/sqlx
2021-11-15 15:31:41 +08:00
## Tutorials
2022-11-12 21:45:18 +08:00
- [Rust on Nails ](https://rust-on-nails.com/ ): A full stack architecture for Rust web applications (uses Axum)
2022-03-13 05:09:30 +08:00
- [axum-tutorial] ([website][axum-tutorial-website]): Axum web framework tutorial for beginners.
- [demo-rust-axum]: Demo of Rust and axum web framework
2022-07-08 04:48:30 +08:00
- [Introduction to axum (talk)]: Talk about axum from the Copenhagen Rust Meetup.
2022-07-22 04:56:33 +08:00
- [Getting Started with Axum]: Axum tutorial, GET, POST endpoints and serving files.
2023-04-11 16:37:22 +08:00
- [Using Rust, Axum, PostgreSQL, and Tokio to build a Blog]
- [Introduction to axum]: YouTube playlist
- [Rust Axum Full Course]: YouTube video
2023-11-09 01:32:17 +08:00
- [Deploying Axum projects with Shuttle]
2024-09-21 15:09:23 +08:00
- [API Development with Rust ](https://rust-api.dev/docs/front-matter/preface/ ): REST APIs based on Axum
2021-11-15 15:31:41 +08:00
[axum-tutorial]: https://github.com/programatik29/axum-tutorial
[axum-tutorial-website]: https://programatik29.github.io/axum-tutorial/
2022-03-13 05:09:30 +08:00
[demo-rust-axum]: https://github.com/joelparkerhenderson/demo-rust-axum
2022-07-08 04:48:30 +08:00
[Introduction to axum (talk)]: https://www.youtube.com/watch?v=ETdmhh7OQpA
2022-07-22 18:20:34 +08:00
[Getting Started with Axum]: https://carlosmv.hashnode.dev/getting-started-with-axum-rust
2023-04-11 16:37:22 +08:00
[Using Rust, Axum, PostgreSQL, and Tokio to build a Blog]: https://spacedimp.com/blog/using-rust-axum-postgresql-and-tokio-to-build-a-blog/
[Introduction to axum]: https://www.youtube.com/playlist?list=PLrmY5pVcnuE-_CP7XZ_44HN-mDrLQV4nS
[Rust Axum Full Course]: https://www.youtube.com/watch?v=XZtlD_m59sM
2023-11-09 01:32:17 +08:00
[Deploying Axum projects with Shuttle]: https://docs.shuttle.rs/examples/axum
2023-05-24 23:08:33 +08:00
[Building a SaaS with Rust & Next.js ](https://joshmo.bearblog.dev/lets-build-a-saas-with-rust/ ) A tutorial for combining Next.js with Rust via Axum to make a SaaS.