TREE
What is TREE?
高校では、チームで何かしらのプロダクトを開発する授業がありました。
そこで私は、メンバー3名と共に、 在校していた高校の図書館の蔵書を管理するシステム を構築することにしました。
基本的に以下の機能を実装しました。
- 蔵書検索機能
- あいまい検索、げんみつ検索、タグ検索の3種類から選べる
- あいまい検索:いわゆるキーワード検索
- げんみつ検索:検索対象をLIKE句を用いて検索
- タグ検索:ユーザがその本につけたタグから検索
- 本、著者、出版社を検索することができる
- キャンペーン機能
- 図書館で何かしらのイベントや告知をする際に使用
- 関連本などを紐づけることができる
- 司書向け機能
- 蔵書登録
- 一冊ずつ登録するモードと、csvファイルから登録するモードがある
- ヘルスチェック
- 後述するいくつかのサービスが正しく機能しているかのチェック
- 特にElasticsearchとMySQL側でデータの整合性を担保しなくてはいけないため、その辺のチェックは充実
- その他、キャンペーンやタグの管理
担当
リーダー / バックエンド
技術スタック
共通
サーバ(ディレクトリ名 : app)
- npm -> パッケージ管理ツール
- expressやsequelize、jsonwebtoken、log4jsなど
- node.js -> サーバサイドのjavascript実行環境
DB(ディレクトリ名 : db)
検索エンジン(ディレクトリ名 : elasticsearch)
※ リポジトリから引用しました
画面
検索フォーム

管理画面

本詳細画面
