Introduction
Organize your shopping experience
Core Features
The application enables users to:
- Create and Manage Categories - Organize shopping items into custom categories
- Create and Manage Shops - Set up specific shops or stores within each category
- Add and Track Items - Add shopping items to shops, mark them as important, and track their status
- Browse Shopping Lists - View items organized by category and shop
- Real-time Updates - WebSocket connections allow for live updates of item states
Technology Stack
- Rocket (v0.5.0) - Web framework with JSON support
- Tera templates - Server-side template rendering
- rocket_ws - WebSocket support for real-time communication
- JSON file storage - Data persistence using JSON files
- CORS support - Cross-origin resource sharing for API access
Architecture
The project is modular with separate modules for:
categories.rs- Category managementitems.rs- Item management and trackingshops.rs- Shop managementtemplates.rs- UI renderingcommon.rs- Shared utilities and file I/Oerror.rs- Custom error handling
Data is stored in a JSON file structure organized by category, with a "Mall" structure that holds both items and shops per category. The application provides RESTful API endpoints for CRUD operations and uses WebSocket for real-time updates when items are modified.
This is essentially a modern, fully-featured shopping list application with real-time collaboration capabilities, built with Rust and serving as a bulletin board for tracking shopping needs.
[Legacy block post] (https://confusedoncoffee.github.io/projects/shopping/)