Tier: Personal
Customer: Undisclosed
Repo: https://github.com/IU-Capstone-Project-2025/hypershelf
MVP Features #
- Auth
- Field editing
- Asset editing
- Mutex locks
- vSphere plugin
- Production-grade UI/UX
Week 3 results #
Markdown editor #
The editor was tailored to mimic one of Obsidian. Obsidian uses HyperMD, which is the wrapper around CodeMirror 5. Hypershelf uses bare CodeMirror 6 with a lot of custom extensions and blocks. It is based on https://github.com/segphault/codemirror-rich-markdoc with significant changes.
- Blockquotes
- Lists (ordered, unordered, tasks (WIP))
- Tables (WIP)
- Links
- Files
- Images
- Formatting: italic, bold,
strike, highlight - Callouts: info, warning, error
- Headings
- Code: blocks and inline
Architecture #
Due to the lack of time and resources, as well as the computing power to deploy multi-instance HA architecture, I decided to bail on it in favor of single-instance. Now the project can be deployed using Docker compose. Though, as mentioned earlier, it is still pretty hard. The project is deployed at https://hypershelf.app and is accessible for testing (ask for Invite Code).
The repo structure was completely changed, see the latest commit for more details.
Authentication #
It was a tough decision. The best option for MVP is to patch all cookies to be SameSite=None, Secure
and integrate
Storage Access API to request user’s permission to access those cookies inside iframes. It is a bald security choice, but good enough for an MVP. The only better way I see is to completely rewrite Convex client authentication layer and request authentication tokens using plugin through window.postMessage
.
Because of the limitations of the Storage Access API, it is now required to click the iframe before it can load any data:
UI #
Significant fixes for UI glitches, better UI on assets management page, footer with useful information, plugin installation guide, and much more
The plugin is now built and packed during build time to be ready-to-serve.
Client-side validation #
It was present on Week 2, but now it is much more robust. Applies to asset management view (read-only) and to asset editing form. Next week - the same for fields.
Adaptive UI #
Since it’s a universal system, it should be fully accessible on any device.
Licensing #
Proper adherence to the GNU AGPL v3 guidelines.
Plans #
The MVP will very soon be shown to the potential customer for demo, so currently most of the plans include tailoring and bugfixes. Next up:
- Fields validation
- Static views
- Office schemas + vSphere integration
- Maybe PWA
- Maybe
draw.io
/ Excalidraw inside Markdown - More
Weekly commitments #
- Daniil Gazizullin: f924a16