シェアハウス生活に潜む問題をテックで解決するゾ【Day1】

まえがき

どうも、ワシです。今回は珍しくテックよりの話をしていこうと思う。

きっかけ

突然だが、我々GAOGAO-TOKYOメンバーは、一軒家を借りてそれをコリビングスペースとしている。今のハウスの間取りは5LDKであり、トイレは2つ、風呂は1つしかない。バンコクの本家GAOGAOハウスは1フロアに対してバス・トイレがそれぞれ4つずつ付いている(メイド部屋含む)が、TOKYOハウスのそれは、メンバーの数に対して明らかに数が足りていない。

何が起きるか。想像に難くないと思うが、風呂の時間が被るのである。「さ〜て、風呂に参ろうか」と準備して洗面所のドアを開けたら、モワッと湯気が立ち込めているのだ。先を越されたかと悔しがりながら先客が上がるのを待ちながら作業をする。ふと気がつくと、既に次の人がシャワーを浴びているではないか!!お前!ずるいぞ!ワシは待っとったんじゃ!!カルテル結ぶのは条約違反やぞ!!(国際法遵守おじさん)

まぁここまでブチギレることはないけれど、実際被って困ることはある。そこで導入したのがこの「ホワイトボード記入方式」だ。

張り切って時間帯を記入してはみたものの、ここにちゃんと自分の名前を書いてくれる人はだいたい半分くらいしかいない。なぜか。このホワイトボードはリビングルームにしか無いので、予定を見る or 予定を記入するにはわざわざリビングルームに来なくてはいけないからだ。このご時世、アナログな書き込み方式にしてうまくいくと思ったワシが間違っていた…。

よろしい、ならばデジタル化じゃ!

ということで、今回重い腰を浮かして始めたのは「GAOGAO-TOKYO風呂予約システム」作成計画である。コレが実現したときに果たしてちゃんと使われるのかはまだ疑問ではあるが、スマホから時間予約できるようになったら少しはマシになるんじゃないかとは思っている。

今回のゴール

今回の計画に至る背景をざっと説明したところで、計画のゴールを説明しよう。

  • 自前でサーバー用意し運用する経験を積む
  • Webアプリとネイティブアプリの新しい技術面に触れる
  • ハウスの入浴時間被る問題をテックで解決する

それらしい前置きしておきながら実はいろいろと技術面でやりたいことがあってそれを触る口実としてしか見てないのがアレだが、まぁいい。ハウスの問題を解決する過程で、今回はいろいろな技術に触れていこうと思う。

Day1. 機能の洗い出し・技術選定

まずは実現されるべき機能の洗い出しをしてみよう。といっても最低限必要な機能は至極シンプルで、「予約したい時間を選んでフォーム送信したら予約ができる」っていうだけ。これを軸に、あるべき機能を出してみた。

  • 会員登録・ログイン機能
  • 予約追加機能
  • 予約編集・削除機能
  • 現在の予約一覧機能

まぁよくあるCRUDスタイルだし、この時点では特にどの言語、フレームワークを使うべきっていうものも無さそうだ。どちらも自由に選んでもらっていいと思うが、今回は勉強も兼ねてフロントエンドはVue.js、バックエンドはFirebaseにまかせてWebアプリから作っていくことにしようと思う。
Vue.jsの選定理由としては、周りにVue.js使ってる人が多いっていうだけ。JSフレームワークとしては結構人気あるイメージなので、仕事にも繋がりそう(期待)。
バックエンドをFirebaseにするのは、Webサーバーをラズベリーパイ上に立てて運用してみようと思ったから。ディスクがSDカードになってしまうので、ここにDB構築して逐一読み書きするのは耐久度的にちょっとなぁって感じ(ハウス内アプリなのでほぼアクセス無いけど)。それならサクッと作れてAPI的な使い方ができるFirebaseのほうが楽しいしラクだと思った。

というわけで、Vue.js × Firebaseでお遊びアプリを作っていこうと思う。

次回やること

次回は仕様をちょっと詰めて、まずはバックエンドのコーディングに着手してみよう。おわり。

Day2はこちら

\Twitterも要チェックやで!/