これは、情報メディアシステム局の物品管理システム「dashi」の発展版・汎用版であるところの「hyperdashi」のバックエンドである。 dashiはhttps://dashi.sohosai.comから使うことができる。 dashiではグラフデータベースと検索エンジンを利用していたが、運用の煩雑さと見合わないことから、RDBに置き換えることを目標としている。 以下にhyperdashiの要件を述べる。 物品情報の登録 機材の物品情報を登録する。 物品名 ラベルID これがQRコード/バーコードによって物品に貼り付けられ、このラベルIDを参照することとなる Alphanumeric(使わない文字の制限あり、IとOは1と0に見間違えるので使わない) 型番 備考 長さや古さ、傷があるなどを書く 購入年度 購入金額 耐久年数 減価償却対象かどうか 高い物品を買ったときに考える。過去に買ったものに関しては減価償却対象ではない 接続名(端子の名前を書く) 可変長配列らしい ケーブル識別色のパターン ケーブルに貼ってある色を端子側から順番に追加する。 白に注意!白は良く見えない 収納場所 複数選べる。なぜなら、部屋AのラックXのコンテナαに収納されているような場合に「部屋A」「ラックX」「コンテナα」と3つ書ければ検索性が良いと言えるから。 貸出中か否か QRかバーコードかラベル未貼付か 登録日時 これは自動で割当たる 更新日時 これも自動で割当たる 廃棄/譲渡済み 削除とは別。削除はミスった時用で、廃棄時はこのフラグを立てる 画像 URLの予定。登録時はファイルが直接上がってくるので、それをオブジェクトストレージにアップロードした結果のURLか、ローカルにフォールバックされた結果のバックエンドのURLが入ることになる。 部分的な更新も可能、このAPIも必要 Excel風のUIから登録・編集を行う予定 貸出管理のテーブル 貸出物品のID 誰に貸出中か 学籍番号と名前 どこに貸出中か String、団体名などが入る予定 貸出日時 返却日時 備考 貸出し情報も登録・更新(返却時)するためのAPIが必要 画像はS3系のオブジェクトストレージにアップロードすることを予定しているが、envの設定によってローカルにフォールバックできると嬉しい。 RDBも然り。プロダクションではPostgreSQLの予定だが、ローカルのsqliteにフォールバックできると嬉しい(開発時に)。 サーバはRustで記述し、AxumとSQLxで実装する。 クライアントとの間ではREST APIを使ってやり取りを行う。