RealWorld Example App

Build Status Crates.io codecov

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

RealWorld

This codebase was created to demonstrate a fully fledged fullstack application built with Rocket including CRUD operations, authentication, routing, pagination, and more.

We've gone to great lengths to adhere to the Rocket community styleguides & best practices.

For more information on how to this works with other frontends/backends, head over to the RealWorld repo.

CHANGELOG

Please see the CHANGELOG for a release history.

Getting started

Install nightly ```sh

install rustup

curl https://sh.rustup.rs -sSf | sh

rustup install nightly

start postgresql and seed the database

psql -f init.sql cargo install diesel_cli --no-default-features --features "postgres" diesel migration run

cargo run ```

Testing

Simply run: sh cargo test You can also check postman/newman. See /tests directory.

How it works

diesel cli uses .env file. Rocket sets database configuration from .env file. Checkout Rocket's amazing guide

Features

By default random suffixes feature is enabled, so one could easily create multiple articles with the same title. To disable it: ```sh cargo run --no-default-features

```

TODO

  1. Error handling: either snafu, failure or error_chain