Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

はじめに

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

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

最近、(といっても数年前ですが)学校にカフェテリアができました、カフェテリアでは日替わりのメニューを毎日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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした