Rust/Diesel 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 Rust fast HTTP implementation Hyper in including CRUD operations, authentication, routing, pagination, and more.
We've gone to great lengths to adhere to the Rust community styleguides & best practices.
For more information on how to this works with other frontends/backends, head over to the RealWorld repo.
This is an application written in Rust using these crates:
- Hyper - a fast HTTP implementation written in and for Rust
- Serde - a framework for serializing and deserializing Rust data structures efficiently and generically
- Reroute - A router for Rust's hyper framework using regular expressions
- IIS - Set of helper functions for running web server written in Rust on Internet Information Services (IIS)
- Diesel - Safe, Extensible ORM and Query Builder for Rust
- Install Rust: https://www.rustup.rs/
- Get Diesel and Diesel supported database.
- Create database.
- Copy
conduit - sample.toml
toconduit.toml
and set your connection string inDATABASE_URL
there. - Also use
.env
and runecho DATABASE_URL=<DATABASE_URL from conduit.toml> > .env
(your.env
file in the project directory should look likeDATABASE_URL=postgres://postgres:Pass123@localhost/conduit
then) - Run
diesel setup --database-url='<DATABASE_URL from conduit.toml>'
script to create the database structure and all the tables, functions etc. - Build with
cargo build
. - Run with
cargo run
. - API URL:
http://localhost:6767
, to test the requests you can you e.g. Advanced REST Client.
- install chocolatey
- install CMake
choco install cmake
(administrative cmd needed) - install Microsoft Visual C++ Build Tools 2015
choco install vcbuildtools
(administrative cmd needed; not possible if Visual Studio 2015 already installed, in that case but check if C++ is installed: File -> New project -> Visual C++ -> Install Visual C++ 2015 Tools for Windows Desktop) - install Rust, you are good to go with
stable
(ornightly
) andmsvc
- install PostgreSQL; skip Stack Builder if you do not need to install anything else
- use pgAdmin 4 from
C:\Program Files\PostgreSQL\10\pgAdmin 4\bin
to connect to the server (usernamepostgres
, password from the previous step) - go to Servers -> PostgreSQL 10 -> Databases and create a new database
conduit
- set environment variable
PQ_LIB_DIR
toC:\Program Files\PostgreSQL\10\lib
dir (you need to call refreshenv in the opened cmd then) - Add
C:\Program Files\PostgreSQL\10\bin
toPATH
(in the same windows as you set the environment variable; call refreshenv again) - follow the steps from the Getting started sections, install
diesel
withcargo install diesel_cli --no-default-features --features postgres
- when running
diesel setup
, do not use the singe quotes, it needs to look like e.g.diesel setup --database-url=postgres://postgres:Password123@localhost/conduit