An application for collecting, tagging, browsing, and searching assets, primarily images and videos. Written in Rust with a Leptos powered front-end and limited GraphQL support. Metadata is stored in RocksDB and file content is stored unmodified within a date/time formatted directory structure. Supports SQLite as an alternative to RocksDB.
- Rust stable (2021 edition)
- Clang (version 5.0 or higher, as dictated by rust-bindgen)
These commands need to be run one time before building this project:
cargo install --locked cargo-leptos
rustup target add wasm32-unknown-unknown
Download the Microsoft C++ Build Tools and select the MSVC ... build tools
(latest version with appropriate architecture) and Windows 11 SDK
(or 10
if using Windows 10).
Run both the backend and front-end tests with one command:
cargo leptos test
Run a single backend test:
cargo test --features=ssr test_location_from_str
cargo leptos watch
The server will be listening at http://localhost:3000
The GraphiQL interface is available at http://localhost:3000/graphiql
Use cargo fmt
to format all of the Rust code.
Use leptosfmt
to format the client-side code, like so:
leptosfmt src/preso/leptos/client/**/*.rs
Use https://github.com/kbknapp/cargo-outdated and run cargo outdated -R
A tanuki is a racoon dog native to Japan, and may also refer to the Bake-danuki, a shape-shifting supernatural being of Japanese folklore. That has nothing to do with this project, but the name is unique and it makes for a cute mascot.