/fullstack-rust-axum-dioxus-rwa

A RealWorld app implementation as a fullstack Rust project using Axum (back-end) and Dioxus (front-end).

Primary LanguageRustMIT LicenseMIT

RealWorld Example App

Dioxus and Axum codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the RealWorld spec and API.

This codebase was created to demonstrate a fully fledged fullstack application built with Dioxus (as front-end) and Axum (as back-end), including routing, authentication, CRUD operations, authentication, and more.

We've gone to great lengths to adhere to the styleguides & best practices promoted by these frameworks. For more information on how to this works with other frontends/backends, head over to the RealWorld repo.


How it works

This project uses the classic three-tier architecture:

  ╭───────────────╮       ╭────────────────╮       ╭────────────────╮
  │   Front-end   │       │    Back-end    │       │     Database   │
  │    (Dioxus)   ├──────►│     (Axum)     ├──────►│   (PostgreSQL) │
  ╰───────────────╯       ╰────────────────╯       ╰────────────────╯

Getting started

First, have the database available as described in backend's readme by starting it and run the database migration (that populates it with the required objects).

Next, for local development and usage, just run ./run_dev.sh script that starts both the front-end and the back-end.