LoginSignup
137
42

More than 3 years have passed since last update.

学校のカフェテリアのためにメニューソフトを作ったお話

Last updated at Posted at 2018-03-26

はじめに

こんばんわ、ダブと申します
今回は自分の学校のために作ったメニューソフトについて書きます。

学校にカフェテリアができた

最近、(といっても数年前ですが)学校にカフェテリアができました、カフェテリアでは日替わりのメニューを毎日3つ提供しています。

カフェテリア内には大きなモニター2x2で構成されたでっかい画面があります。
最初の一年間はそこにメニューの画像が表示されていました(日替わりなので、必要だった)。
しかし、二年目以降ソフトが動かなくなり、更新されなくなってしまった...
なので生徒は、文字のみでメニューを選んでいました。

まぁ、それで全然問題ないのです。が、4枚のモニタが真っ黒のままってのはいただけないし、やはり見えた方がいいよね、ってことでメニューソフト開発することにしました。

完全におもちゃになっている図
CvhFCCkUEAE4xv2_censored (1).jpg

とりあえずデザインから

見栄えを重視するってことは最初に決めていたので、windowsform は候補から外れました。
当時はC#しか書けなかったのでUnityで開発することにしました。

はじめのデザイン

C4TFZX2UEAE-M4r_censored.jpg

見開きの本をイメージして作ったのですが、2つしか同時に表示できません。(メニューは3つあるのに)

ちなみに、メニューデータはJsonで記述されています、これは最初から最後まで変わりませんでした。
この時はJsonファイルを読み込んでいないのでエラーが出ています

次のデザイン

C8j-NvpUMAEFmiq.jpg
上のタブを一定間隔で切り替えることによって、いくらでも表示できるようにしよう、ってわけです。
最終的にこのデザインで作業を進めることにしました。

最終形態

C8zBVMpUQAALGKN_censored.jpg

だいぶメニューっぽくなってきました。
この時点でだいぶコーディングが終わっていて、メニューデータも読み込まれている状態です。

データを同期する

このメニューソフトにはメニューを設定する機能があり、写真撮影もできます。
が、こんなでっかいPCからWEBカメラ引っ張ってきてパシャパシャするのはアレなんで
タブレットでメニューを編集して、本器に送信できればいいな、と考えました。

はじめにやったこと

サーバーとかがさっぱりわからなかったので某ファイル同期サービスをインストールしてデータを共有する、というごり押しの戦法をとっていました。(この状態で1年くらい運用していた)

まぁ全然スマートじゃないわけで、次の手に出ます。

APIをやろうず

せっかく自宅にLinuxマシンあるのだからそれ使おうぜってことでNode.jsでREST APIを構築
出来ることはとてもシンプルです、メニュー情報の取得、設定、他にも端末のメニュー情報が最新か確かめるためのIDを管理しています。

一応完成

ってことで完成です。
ezgif-3-54969af3be.gif

上の方に張った写真のモニタでこれが動いています、あとタブレットでも...

WEB GUI実装

ブラウザから設定できるようにしました。便利。

通常表示
Screenshot-2018-7-5 ラボメニューWEB_censored.jpg

編集用ページ
Screenshot-2018-7-5 ラボメニューWEB Admin_censored.jpg

おわりに

作っててとても楽しかったです、ちなみに報酬としてカレーをおごってもらいました。同情するならマネーを(ry

137
42
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
137
42