Rusty Shops is a shop- platform, written in Rust.
The challenge
There’s many fancy, flashy, expensive shop platforms out there; I decided to write my own with the following goals:
- Fewer features, more opinionated
- More privacy for me, and my users (no recaptcha, no tracking)
- No nonsense limits (Pro plan, Plus plan, blah blah blah ..)
- Easily switch between shops, have multiple warehouses, automated taxes
- Nostr integration (well, Nostr-powered login anyways)
Implementation
It’s all fairly simple, which was the goal:
- The backend is written in Rust, with Actix and diesel
- Wrote a couple of libraries, to handle tax, shipping and PDFs
- Frontend is vite/react (+ 2x shop frontends; one react, one vue)
I considered doing the front-end in plain html, but a little react interactivity is nice and saves some time.
Frontend written with Vue and NaiveUI: Cart calculation is handled by API
Frontend written in React: Cart calculation happens in web worker
Thoughts
Rusty Shops is already live: rusty-shops.com.