hyperdashi-server/CLAUDE.md
2025-07-05 11:50:50 +09:00

2.9 KiB
Raw Permalink Blame History

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