61 lines
2.9 KiB
Markdown
61 lines
2.9 KiB
Markdown
これは、情報メディアシステム局の物品管理システム「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を使ってやり取りを行う。
|
||
|