1
1
Fork 0
Self-hostable web server built in Rust with Rocket.rs. Provides to-do list and grocery tracking with SQLite persistence and user authentication. Demonstrates a fully independent, database-backed Rust web application.
  • Rust 81.2%
  • CSS 18.8%
Find a file
2026-04-14 15:20:06 +02:00
assets [BUGS] Missing var assignment 2025-12-19 15:03:18 +01:00
src [REFA] Formatting Changes 2025-12-19 14:02:24 +01:00
templates [BUGS] Fixed formatting error 2025-12-19 19:16:55 +01:00
.gitignore [BUGS] Fixed directory excludes in gitignore 2025-12-11 22:13:38 +01:00
Cargo.toml Modified project name to rusty-cart 2026-04-14 15:03:40 +02:00
license.md Relicensed as bsd-3-clause 2026-04-14 15:03:04 +02:00
readme.md Updated infos in readme file 2026-04-14 15:20:06 +02:00
Rocket.toml [FEAT] Added todo tracker fairing 2025-12-19 13:59:27 +01:00

Rusty-Cart

Rust Edition License Self-hosted

A minimal self-hosted web application for managing todos and groceries, built with Rust and server-side templates.

Installation

Build the project using Cargo:

cargo build --release

Then run the application:

cargo run

The server will start using the configuration defined in /Rocket.toml. Make sure the process has permission to access templates and static assets in the project directory.

Configuration

Configuration is handled via Rocket.toml. Customizables are:

  • Server port
  • Sqlite database locations
  • Encrypted cookies secret key

Use Cases

  • Personal task and grocery tracking
  • Lightweight household management
  • Self-hosted alternative to simple productivity apps

Features

  • Todo Management: Create and manage personal tasks
  • Grocery Lists: Track shopping items efficiently
  • Server-Side Rendering: HTML generated using Tera templates
  • Authentication: Basic login functionality
  • Modular Structure: Clean separation of concerns in Rust modules

Technology Stack

  • Rust: Fast, safe systems programming language
  • Rocket: Web framework for routing and request handling
  • Tera: Template engine for server-side HTML rendering
  • SQLite: Lightweight storage with zero configuration and minimal overhead

FAQ

Why server-side rendering?

Server-side rendering keeps the application simple, avoids heavy frontend frameworks, and works well for low-complexity tools.

Is Rusty-Cart production ready?

For large scale production use, the authentication framework is insufficient. In its current state it does not have a notion of session management. Users stay logged in until the server secret is rotated or the cookie times out.

Can the Port and Database Location be Configured?

Yes, both of these can be modified via environment keys in the /Rocket.toml file which needs to be present in the working directory of the running server binary.