| src | ||
| web | ||
| .envrc | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| README.md | ||
| shell.nix | ||
itemse2
itemse2 is a simple storage/item management system designed for individuals. The UI is designed with phones in mind, though a PC can be of help too.
Setup
- Install rust
AUTH=<key> cargo run --release
To set up a permanent instance, use build instead of run and use the
binary at target/release/itemse2.
Features
- Locations, ItemTypes, Items
- Everything has unique IDs
- QR codes can be automatically generated for everything
- QR codes can be scanned in the website wherever references to something are required (forms, navigation)
- Items have quantities, can be partially moved
- Everything can be renamed, has descriptions
- Locations and ItemTypes are both trees, every item is a leaf of both trees (unless it has no type and/or is in limbo, in which case it is not part of one or both trees)
- Items and locations can be temporarily taken out of storage, which puts them in "limbo"
- Linking to other things in descriptions:
[%type%:%id%], e.g.[location:019830dd-3b1b-7543-8fb9-8ccfdb1c6456](append an additional:followed by any text to customize the displayed link text)
Usage
- Authenticate by going to
<ip>:8384/?auth=<key> - You are redirected to the home page.
- Make new locations by going to existing locations (e.g. using the button on the home page) and clicking "Show all actions", then using the appropriate form.
- Make new itemtypes by going to existing itemtypes (e.g. using the button on the home page) and clicking "Show all actions", then using the appropriate form.
- Items are created through itemtypes ideally, but can be created without a type using the location pages or the limbo page or the insertnamed form.
- You can "Take" items and locations, which will put them in limbo. This is a page meant to contain all the things you have taken out of storage (and may later put back). Items created without locations end up here.
- Everything has an ID, printed on the top of the page. This can be clicked to copy it, and a link to a QR code is displayed next to it. On PC, the QR code itself is also displayed.
Backend & Performance
The database is created automatically and maintained over updates by automatic
migrations. It is called db.sqlite and can be found in the working directory
of the server.
Obviously from this being a single-server app, it probably should not be used to power your entire business. Enterprise grade systems that do the same (and more) as this exist, which are probably a better choice for businesses. Concurrent requests are also handled relatively poorly (they can block eachother on the database) and there is no caching at the moment (but can be easily added, just open an issue if it becomes an issue).
Requests tend to take some 1-5ms to process with normal use (the 5ms is
quite a high estimate however, most will take 1-2ms). This is using
very much below average (but ok) hardware. Full enumerations of the storage
(e.g. by clicking "Deep view" on World or Base), take longer with more
depth and total items.
The server can very very comfortably run on even low-spec servers, but may need to scale for larger usecases.
Support
Open an issue