Show HN: KV 存储管理器 – 全栈键值数据库,附带 Web UI 和 API

1作者: modinfo10 个月前
我构建了一个全面的键值存储管理应用程序,它结合了基于文件的存储的简单性和现代Web界面。它就像拥有一个轻量级的数据库,内置了类似VS Code的编辑器。<p>演示:<a href="https://kv.sekor.eu.org/" rel="nofollow">https://kv.sekor.eu.org/</a> (admin@example.com / adminadmin)<p>管理器:<a href="https://github.com/skorotkiewicz/kvstore-manager" rel="nofollow">https://github.com/skorotkiewicz/kvstore-manager</a> 客户端:<a href="https://github.com/skorotkiewicz/kvstore-client" rel="nofollow">https://github.com/skorotkiewicz/kvstore-client</a><p>有趣的部分在于它如何处理用户隔离——每个用户在database/{user-id}/{database-name}/{store-name}.json下都有自己的目录结构。<p>它非常适合原型设计、小型应用程序,或者当您需要一个简单的键值存储,而又不想使用Redis或类似工具的开销时。<p>前端包括用于管理数据库/存储的仪表板、用于高级编辑的Monaco编辑器以及全面的API文档。 后端使用Hono.js(比Express更快)构建,具有令牌身份验证和速率限制。<p>您觉得怎么样?这对您的项目有用吗?
查看原文
I built a comprehensive key-value store management application that combines the simplicity of file-based storage with a modern web interface. It&#x27;s like having your own lightweight database with a VS Code-like editor built right in.<p>Demo: <a href="https:&#x2F;&#x2F;kv.sekor.eu.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;kv.sekor.eu.org&#x2F;</a> (admin@example.com &#x2F; adminadmin)<p>Manager: <a href="https:&#x2F;&#x2F;github.com&#x2F;skorotkiewicz&#x2F;kvstore-manager" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;skorotkiewicz&#x2F;kvstore-manager</a> Client: <a href="https:&#x2F;&#x2F;github.com&#x2F;skorotkiewicz&#x2F;kvstore-client" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;skorotkiewicz&#x2F;kvstore-client</a><p>The interesting part is how it handles user isolation - each user gets their own directory structure under database&#x2F;{user-id}&#x2F;{database-name}&#x2F;{store-name}.json.<p>It&#x27;s perfect for prototyping, small applications, or when you need a simple key-value store without the overhead of Redis or similar.<p>The frontend includes a dashboard for managing databases&#x2F;stores, Monaco editor for advanced editing, and comprehensive API docs. Backend is built with Hono.js (faster than Express) with token auth and rate limiting.<p>What do you think? Would this be useful for your projects?