g0v.social 為許多獨立的 Mastodon 伺服器之一,您能透過該伺服器參與聯邦宇宙。
去中心化社群架設的去中心化社群網站。宇宙小酒館。請遵守社群守則 https://g0v.social/about/more Our mantra: https://devpoga.org/blog/2023-01-22_mantra_g0v_social/

管理者:

伺服器統計:

825
活躍使用者

家用/小企業 資產管理工具 iOS/Android App,source-available on GitHub ➡️ github.com/zetavg/Inventory

再不放上 source code,就快要獲得 GitHub「Creates a repository that received over 100 stars with no source code inside」的 Achievement 了 XD (實際上並沒有這個 Achievement)

去年搬家搬到崩潰後開始做的,原本是想解決遊牧生活所有東西都沒辦法有固定擺放位置、難以收納管理和找到它們的問題。有它之後物品打上 tag 後只要大致分類丟進櫃子箱子、隨便找空位擺,需要的時候再開 app 搜尋然後靠 RFID 定位物品位置,快樂地用到現在。

▌使用情境

• 居家尋物:找鑰匙、找錢包、找遙控器、找行動電源、找充電線⋯⋯
• 旅遊:快速檢查行李是否帶齊、是否有遺失。
• 公司資產管理:快速檢查公司資產是否歸位、有沒有東西遺落在案場。
• 盤點:使用 RFID 讀取機掃過櫥櫃、收納箱、倉庫儲位,即可快速記錄物品所在位置,方便日後查詢。
• 建立 checklist,針對特定活動 (例如露營) 檢查是否有帶齊需要的物品。
• 管理消耗品的庫存量、追蹤物品的有效期限。

▌實際 App Demo

• 盤點、尋物: youtu.be/SPdiQ89HPxo
• 建立資產、寫 RFID tag: youtu.be/l5uIIwOZLOk

▌硬體成本

TL;DR 家用大約兩萬多

• RFID UHF 標籤:每張約 US$ 0.4 ~ 0.1
• 可貼在金屬表面的 RFID UHF 標籤:每張約 US$ 1 ~ 0.4
• 可水洗烘乾 RFID UHF 布料標籤:每張約 US$ 0.3
• 手持式 RFID UHF 讀寫機器:每台約 US$ 328
• 熱轉印標籤機 (不一定要有):每台約 TWD 3,000 ~ 6,000 (GoDEX EZ120/EZ130)
• Label LIVE 標籤列印軟體 (不一定要有):一台電腦授權 US$ 47.99 (個人版買斷) / US$ 147.99 (企業版買斷) / US$ 14.99 (企業版月費)
• 時間:如果要將大量物品打上 tag 還是蠻花時間的,若是慢的話一件物品花 2 分鐘,500 件物品就需要 2 個工作天來上 tag

其實除了 app 本身之外,這也是一個發展多年 (註 1) 的「有點 Ruby on Rails 感的」data-driven React Native app 框架,訂好 JSON schema、validation、callbacks 後就能直接獲得自動產生的 CRUD UI (註 2),可以快速做出能用的 prototype,之後再用自己寫的更好用的 UI 來取代。資料的 backend 是使用 CouchDB/PouchDB,但也可以抽換成別的實作。

註 1:每隔幾年發展幾個月。
註 2:在 Inventory app 裡可以在 More → Developer Tools → Data 使用這些自動產生的 CRUD UI。(Developer Tools 進入方式: github.com/zetavg/Inventory/wi )

GitHubHow to Access Developer ToolsAn RFID asset management app for home or businesses. - zetavg/Inventory

另外也有實驗性的 composable Redux slice,讓每一個 slice 可以不管如何被使用,只顧好實作自己內部的功能,並且可以隨意地被其他 slice 引入、組裝成一個更大更完整的 app。這樣就使得後期更動 app 結構層級的功能更加容易,例如增加一個多使用者 profile 的 slice,然後把原本的整個 app 改掛到多使用者 profile 的 slice 底下,就可以在幾乎不用更動現有 code 的狀況下完成多使用者切換的功能。但這部分的 code 還寫得很亂,可能之後會再抽出來吧。

詳見架構圖: github.com/zetavg/Inventory/wi

GitHubApp ArchitectureAn RFID asset management app for home or businesses. - zetavg/Inventory
zetavg :verified:

不過目前也有蠻多基礎建設沒有做完整,有一些設計上是 iOS 與 Android 通用的邏輯性 UI Component 實際上 Android 版本根本沒實作 (例如 UIGroup),還有原本應該做在 useData hook 等地方的 UI 層級 dataloader 和 cache 也都沒有做,使得每個 UI view 都是獨立從 DB 載入自己的資料,並且在每次顯示於螢幕上時無腦 reload,因此會有一些 (在中高階裝置上) 不影響使用的效能問題。理想上應該要學 Relay 或 Apollo Client 有一個集中的 cache store 讓 UI subscribe,不但可以避免重複的 DB 讀取,也可以直接向 DB subscribe changes 讓資料有更動時自動更新 cache store 中的內容,這樣就不用一直無腦 reload 資料浪費效能了。又或者是直接把 DB 讀寫和 sync 功能都移到獨立的 thread,就比較不會因為大量資料處理而讓 UI 變得卡頓。