Product
GUI client for csvs, personal information manager, note-taking manager, digital brain, database manager
competes: notion, OneNote, obsidian, org-journal, iNotes, atom https://www.accesstomemory.org, perkeep https://perkeep.org, trilium
interacts: with local storage, git hosting providers, social media API
constitutes: local and public a web application, mobile application for iOS and Android, desktop application for Linux, MacOS and Windows
includes: UI, UI state storage, overview components, import/export controllers; a class that interacts with filesystem, csvs, git
patterns: MVC
resembles: matrix.ai, genea.app, pgAdmin
stakeholders: fetsorn
target audiences: superusers, genealogy clients
adr
user must store i18n description of schema entities
user must specify arbitrary entity purpose to render values in a specific way
all values are stored in a csvs dataset. all keys are SHA-256 hashsum of some unique value, so that keys are of common form. we hash a UUIDv4 in
src/api/schema.js::newUUIDwhen a new object needs a unique identifier, and we hash file contents insrc/api/browser.js::uploadFile,src/api/electron.js::uploadFileandsrc/api/server.mjs::uploadFilefor content-addressable asset storage.support oAuth
Requirements
长 寒 项
- user must view a collection of folders
遵 钙 球
- user must create a folder
安 极 种
- user must delete a folder
堵 朵 虾
- user must edit the folder name
给 胎 政
- user must edit the folder schema
务 碎 筛
- user must view a collection of records in a folder
伸 薄 渗
- user must create a record
晋 译 哩
- user must change a record
忧 伏 治
- user must delete a record
季 家 苍
- user must search a collection
斤 孙 资
- user must query a collection with fuzzy match
优 殊 火
- user must query a collection with logical AND
念 邻 真
- user must query a collection with logical OR
秘 抛 张
- user must query a collection with regular expressions
力 辊 捅
- user must sort a collection
府 凤 制
- user must sort in ascending order
疑 课 剥
- user must sort in descending order
月 盛 叔
- user won't sort numbers in arithmetic order
厂 便 玻
- user must sort numbers in alphanumeric order
污 纯 千
- user must see tooltips on every button
淮 适 议
- user must see a warning when deleting
他 塘 众
- user must import a folder over the network
膜 里 刻
- user must export a folder over the network
滨 先 汁
- user must upload attached media files
喝 弹 扑
- user must view attached media files
附 线 纶
- user must download attached media files
你 所 法
- user must rename attached media files
酚 百 暗
- user must choose from a list of previously attached media files
十 抵 严
- user must see the first of search results immediately after querying
肌 捉 乙
- user must open URL with local folder and query
并 试 辑
- user must open URL with remote folder
加 份 吧
- user must open URL with record id to scroll into view
棋 届 瓜
- user must see highlight of the opened record
舟 连 右
- user must move subset of records specified by query from one folder to another
制 猛 密
- user must close folder and see saved query
湿 楼 到
- user must close folder and scroll to folder record
开 砍 滩
- user must see number of records matched by query
坑 州 胀
- user must change css themes
我 拒 葱
- user must view rich formatted markdown text
司 并 哲
- desktop user must search page with ctrl+f
训 滑 掘
- desktop user must open folder locally
寨 溜 磷
- desktop user must open multiple windows
技 仰 夜
- browser user must see a warning that clearing cache will destroy data
础 炮 敲
- user must download zip archive of the folder
免 织 婚
- user must access all events that involve a name as an actor
妥 尚 累
- user must see the interface in their preferred language
溜 赫 皱
- user must see all names that have common events with a given name
部 替 易
- user must specify a branch to query by given branch