昼ご飯共有サービス「食べタケ」

昼ご飯共有サービス「食べタケ」は、大学の授業(ウェブプログラミング実習)の最終課題で開発したサービスです。

このサービスは、SNSに使い慣れている若者に向けて作ったサービスです。最近の若者は、お洒落なレストランやカフェで食事をした際に、必ずと言っても良いほど写真を撮ります。そして、その写真をXやInstagramなどのSNSに投稿し、フォロワーからのコメントや評価を得ようとします。「食べタケ」は、このようなSNS文化で育った若者に向けて作ったサービスです。

クライアントサイド側の記事投稿画面で店名・価格帯・評価・写真で入力されたデータをサーバサイド側のデータベース上に書き込み、メインページでそれらのデータを読み込み、投稿一覧に表示します。

「食べタケ」は4人の合同制作です。私はユーザーインタフェースを担当しました。

画面右下の「投稿する」というボタンを押すと、投稿ページへ画面が遷移します。店名・価格帯・評価・写真を入力して送信すると、メインページにて投稿一覧として表示されます。それぞれの投稿に対しては、コメントもすることが可能です。投稿一覧では、投稿内容や日時、コメントを閲覧することができます。

記事投稿画面では、画像表示機能を付加しました。

JavaScript
<script>
    function previewFile() {
      const preview = document.querySelector('img');
      const send = document.querySelector('input[type=hidden]');
      const file = document.querySelector('input[type=file]').files[0];
      const reader = new FileReader();

      reader.addEventListener("load", () => {
        preview.src = reader.result;
        send.value = reader.result;
      }, false);

      if (file) {
        reader.readAsDataURL(file);
      }
    }
  </script>

previewFileという関数によって、記事投稿画面での画像プレビューが実装できています。画像がアップロードされると、この関数によって自動的にURLに変換され、記事投稿画面にて画像プレビューとして表示されます。さらにここで、send(typeはhidden)変数を用意しました。店舗情報が入力されて「送信」ボタンが押されると、変換されたURLはサーバサイドのデータベースにtext型として書き込まれ、トップページの投稿欄でも画像が表示されます。