A simple Rust
fortune-like webapp with Rocket
This simple webapp reads quotes from a SQLite database and picks a random one to return
with each request. It uses templates for HTML responses and
serde for JSON.
It provides a proof of concept for my use of Rocket.
What this application demonstrates:
- Database with
- Templates with
- JSON API with
- Integrated command line management
- Form data entry
- Responsive, mobile-first design
- Custom error pages
- Rust 2018 compliance
- Rocket tests
I like Rocket, as a concept. It allows me to use Rust, a language that tends to produce code which is both fast and correct, as a backend for services which typically need to be both fast and correct - web services.
Rocket also works with paradigms I'm familiar with: pluggable datastore and template modules connected by route functions, like Flask.
To run the application, simply clone the repo and, assuming that you have
a nightly Rust toolchain installed, as well as
cargo run in the root directory - you'll get a webserver running!
You'll need to add quotes using either
cargo run add dev.db <quote> <author> [source]
or the JSON API.
This software is subject to the terms of the GNU Affero General Public License v3.0.