Forked this repo to learn actix-web.
What I've learned: actix + Vue is a popular and perfect combo
There's also a chat sample parallel to Rocket's! const socket = new WebSocket(wsUri);
vs const events = new EventSource(uri); events.addEventListener("message", (ev) => { ... }));
'Exponential backoff reconnect'
- actix_cors::Cors::default()
move || { App::new().wrap( ... ) }
CORS is also a Vue ^3.3.4 sample !!! This is also a 'log in' sample. - deadpool_postgres::Client.prepare(&_stmt)
-> Result<Vec<User>, MyError>
client.query(&stmt, &[&user_info.email, &user_info.first_name, &user_info.last_name, &user_info.username,],)
- pg_mapper
Many of these repos use SQLX for Postgres, e.g., sqlx::postgres::PgPoolOptions
(Pg for Postgres):
use sqlx::postgres::PgPoolOptions;
let pool = PgPoolOptions::new()
.max_connections(5)
.connect("postgres://postgres:password@localhost/test").await?; // Alex: Get this from ENV
// Make a simple query to return the given parameter (use a question mark `?` instead of `$1` for MySQL/MariaDB)
let row: (i64,) = sqlx::query_as("SELECT $1")
.bind(150_i64) // Alex: This is even nicer than SQLAlchemy in Python
.fetch_one(&pool).await?;
assert_eq!(row.0, 150);
Ok(())
- Actix-Web Shuttle Template: A somewhat opinionated template for getting started with an Actix Web API and hosting it on Shuttle.
- Atomic-Server: Graph database with a dynamic schema, authorization and full text search.
- Barricade: Quickly add user registration and logon to any application.
- Interesting. Comes with hCaptcha too. 'Works well as a Kubernetes side car.'
use sqlx::PgPool;
as well. Postgres + Actix = nice combo
- binserve: A fast, secure, and easy to set up static web server written on top of Actix Web with routing, templating, and various other features.
- Bloom: The simplest way to de-Google your life and business: Inbox, Calendar, Files, Contacts & much more.
- Contile: The back-end server for the Mozilla Tile Service (MTS).
- Dalted: Simple webapp that showcases the integration of image-rs with Actix Web for color blindness simulations.
- Four in a Row - Server: An online version of the popular game four in a row, written in Rust on the server side and Flutter + Dart on the client.
- gcs-proxy: A Google Cloud Storage download proxy
- GitArena: Software development platform with built-in VCS, issue tracking and code review.
- vs. GitLab self-hosted, and Gitea (written in Go, 45k stars)
- hyperswitch: An Open Source Financial Switch to make payment open, fast, secure and reliable.
- Labrinth: Rust-based backend to serve the
modrinth
API. - lemmy: A federated alternative to reddit in Rust.
- Martin: Blazing fast and lightweight PostGIS, MBtiles and PMtiles tile server.
- mCaptcha: Proof of work based, privacy focused, libre CAPTCHA system. Crates used:
actix-web
,sqlx
,redis
, andlettre
. - MeiliSearch: Fast, Relevant and Typo-Tolerant Search Engine. Open source alternative to Algolia.
- Merino: Web service for Firefox Suggest.
- Nitro Repo: An open source artifact (build output) manager. Rust back-end and Vue front-end.
- Operator: A web server for static and dynamic content.
- pict-rs: An image host API service
- RCOS Telescope: The RCOS (Ren,sse`lae,r /rɛnsəˈlɪər/ Polytechnic Institute) website and Discord bot.
- Roseline: A personal web site and discord & IRC (Internet relay chat) bot to access simple SQLite database. Demonstrates usage of various Actix and Actix Web concepts.
- rustus: A TUS - the open protocol for resumable file uploads implementation that helps you handle file uploads
- rustypaste: A minimal file upload/pastebin service
- tokei.rs: The tokei.rs server code.
- trieve: All-in-one infrastructure for building search, recommendations, and Retrieval Augmented Generation (RAG).
- Triox: A free file hosting server that focuses on speed, reliability and security.
- WebThings Registration Server: Exposes an HTTP API that lets you register a WebThings Gateway for tunneling support
- Zero2prod: Source code of zero to production book zero2prod.com. Paid book but some of the chapters are available online for free. The book compares and explains the chosen technologies, like Actix Web and SQLx.
- Actix and SQLx User CRUD for MySQL: A User CRUD showcasing MySQL database interaction with full integration test coverage, designed to fit comfortably in a system of micro-services.
- Actix Server Authentication with JWT and MongoDB: An implementation of JWT in Actix.
- Blog with markdown rendering: Blog example built with Actix Web, diesel (with Postgres) and r2d2 rendering articles in markdown with metadata and a front-end with React.
- Canduma: Rust authentication server boilerplate
- Complete Actix 2.x REST Server: Actix 2.x HTTP Server featuring multi-database support, auth/JWTs, caching, static files, app state, tests, coverage, and docker.
- create-rust-app: Set up a modern Rust + React web app by running one command.
- Fullstack-Rust: A Full Stack Rust application (Connect5 game) with Actix Web, Yew, Bulma CSS and Diesel.
- Mozilla Services Skeleton App
- planters_cycle: Another boilerplate fullstack application with identity system, prisma and NextJs.
- Production-Grade Logging in Rust Applications: An article showcasing the use of tracing in an Actix application
- rayspace.dev: Minimalist dev portfolio and blog implemented as a Rust-powered SPA, featuring GitHub OAuth, session management, static file serving, API endpoints, and SQLx integration.
- RealWorld Example App: Implementation of the RealWorld backend API spec in Actix.
- Rust, Actix Web & Heroku: A Heroku buildpack example for Actix Web.
- Rust, Angular, PostgreSQL and JWT Security: Boilerplate project that implements an Angular + Actix Web application with login and registration pages, that is pre-dockerized.
- Rust, Docker & GraphQL: An example of using Dataloaders, context, and a minimal docker container.
- webapp.rs: A web application completely written in Rust.