Two small services
vym-fyi-server-crud creates and lists short links on a read/write database role; vym-fyi-server-redirect resolves /{slug} on a read-only role and answers with a 307.
Multi-tenant short links in Rust — an HTTP API and a CLI, deliberately no web UI.
vymalo for your information is a small, multi-tenant URL shortener built in Rust. Use this site as the entry point for working with the codebase and understanding how the services fit together.
The site is a VitePress project in docs/, themed with @vaam-apps/vitepress-md3. It needs Node.js 22.12 or newer and pnpm 12.
cd docs
pnpm install
pnpm dev # live reload
pnpm build # static site in docs/.vitepress/distProvidedSlugStrategy and GeneratedSlugStrategy choose how slugs are created in crates/vym-fyi-server-crud/src/handlers/links.rs.CrudApp and RedirectApp wrap the DB pool, repository factory, and API-key state (crates/vym-fyi-server-crud/src/app.rs, crates/vym-fyi-server-redirect/src/app.rs).PgRepositoryFactory implements the RepositoryFactory interface to provide database-backed repositories (crates/vym-fyi-model/src/services/repos.rs).LinkListQueryAdapter with QueryParamsBuilder converts list inputs into HTTP query params for both the CLI and Node bindings (crates/vym-fyi-model/src/services/query_adapter.rs).HttpClient::global exposes a shared HTTP client for reuse across crates (crates/vym-fyi-model/src/services/http_client.rs).cargo test --workspace --all-targets.crates/vym-fyi-model/tests/config_flow.rs..github/workflows/ci.yml.cargo llvm-cov --workspace --all-features --fail-under-lines 70 (70%+ recommended) and publish the generated report if needed.