BLOG

共用ラウンジをコワーキングスペースとして貸し出す場合の入退室管理システムを作ってみる – Part 1


どもども、出勤途中に通りがかった両隣の居酒屋から、同時に流れてくる「卒業写真」とパリピ感満載4つ打ちクラブミュージックに心を痛めた高儀です。
タイトルを最初に読んで、なんか小難しいこと書いてんなこいつと思ってしまったと思いますが、安心してください。履いてますよ。
タイトルに困った挙句にそれっぽいことを書いておけばなんとかなるだろって感じで書いたわけではありませんから。これぞまさしくコペルニクス的転回。
???「トキヲモドソウ」

はじめに

現在、THE STAY SAPPOROに宿泊されるゲストさんの数は、前年と比べてかなり減少傾向にあります。きっと札幌市内の他のゲストハウスも同様の状況が起きているのでしょう。
そこで、「この時期だからこそ、これからの繁忙期に向けてできることをいろいろアイデア出し合いましょう」という投稿がFacebook のグループにありました。ちなみに、THE STAY SAPPORO では業務連絡に Facebook を活用しています。
そして最近、他のスタッフからですがひとつのアイデアが出されていました。それはタイトルの通りなのですが、共用ラウンジを学生の方や社会人向けの勉強スペースや作業スペースとして開放するのはいかがでしょうか、という案。
そのスタッフは現在大学生です。大学生ならではの視点でアイデアを出せるというのは大学生ではない僕にはできないことなので、これはすばらしいと思いました。そしてその彼自身の案に対する欠点の部分も彼は書き連ねており、実現させるにはハードルがあることも自覚していました。
ですが、僕としてはせっかくTHE STAY SAPPOROが前へ進むためにアイデアを出してくれたにもかかわらず、難しいからという理由だけで周りの大人も含めて没にしてしまってはあまりにもったいないと思い至りました。なので、そのアイデアの裏付けと肉付けを技術的な視点を絡めて行い、少しでも実現へ向けて後押しできればと思います。

注意事項

今回からシリーズで書いていきます。最後のPartが完成したらまとめてひとつにしたものを投稿しますので、読みづらいかとは思いますがご了承ください。そして 完成後には Github のレポジトリも公開出来たらしようかなと思いますので宜しくお願いします。あと、いつ書き終わるかは未定です。先にプロダクトができあがっちゃうかもしれないし、気分次第です。

オリジナルアイデアの概要

元々の案を僕なりに咀嚼して解釈したものを以下にまとてみました。

要望

コーヒーや紅茶が飲み放題で、飲食物の持ち込み可にした勉強スペースとして共用ラウンジを開放したい。

デメリット

長時間の共用スペースの占有の発生。それに伴う宿泊しているお客さんへの負担も発生する。なおかつ、お客さんがくつろぐことができなくなる可能性もある。なぜなら学生さんによる騒音の発生があるかもしれないから。

デメリットの解決方法

時間による制約の設定
しかし、時間制限を設けてしまうとわざわざここで勉強するのではなく、500円程度で長時間滞在できてしまう某有名カフェで勉強することを選んでしまう可能性。
料金の課金制度
最初の2時間を300円に設定し、1時間延長ごとに100円の利用料の発生させる。この組み合わせによって長時間利用の常識の範囲の逸脱的な利用の抑止に効果が期待できる。
勉強スペース専用のフロアの設定
料金の課金制度とフロア利用料(1組当たり)1000円程度にすることでデメリットの緩和につながる可能性を期待できる。専用フロアを設けることで、あらたな需要の掘り起こしが起きるかもしれない。そして、ホームページに予約ページを表示してお客さんへの周知をする。つまり、ホームページに予約ページを組み込むことでコワーキングスペースを目的にホームページを訪れたお客さんへのホテル自体の宣伝効果にもつながる。

本題

以上の案を踏まえますが、一応修正が加わるかもしれないので、どちらにも対応できるシステムをあらかじめ目指して作っていこうと思います。
それでは、ざっくりと要件定義のあたまっぽいものを書いていきます。

どうして作るのか?

宿泊するお客さんのみならず、滞在という意味を大枠でとらえた際に、宿泊ではなく勉強や仕事といったサード・プレイス としての目的を持ったお客さんに向けて新しくサービスを提供したい。

何を作るのか?

宿泊を目的にしたお客さんと、共用スペースの利用のみを目的にしたお客さんの管理を分けるためにそこまで高度ではない新たな簡易的管理システムがほしい。しかも複雑な操作は必要ないもの。

どうやって実装していくのか(素案・簡易版)

実装していくにあたってどんなものを使っていくのか、要件をざっくり決めたいと思います。(あとから変更あり)

言語

TypeScript と Python の背負い投げ~。Next.js も Express も全部TypeScript を使って書いてきます。PythonはFlask用です。あとテスト用にも使うかも。

フロントエンド

デプロイ先には Zeit Now を使ってみる。本当は docker のネットワークで Next.js やら Nginx やら全てを繋いであげて compose させいたいのだけど、管理の面から面倒くさいので、Zeit Now に頼ってみる。

バックエンド

Docker で Express と Flask をコンテナ化させて Conoha VPS で運用予定。やっぱり美雲このはちゃんは正義。

認証プラットフォーム

Auth0、もしくは Firebase Authentication。Auth0についてはドキュメント読み漁ったりしまくったのでノウハウはたまっているからこっちの方が楽ちん。だけれど Firebase も勉強したいのでここはあとでの気分次第。

データベース

Dockerでコンテナ化させて、いつも慣れているPostgreSQLを利用したいが、Cloud Firestore や Amazon DynamoDB などの NoSQLデータベースなどの外部サービスを使ってみたいのもまた事実。けれども Express 側から  prisma-client-js を使ってふがふがする方が簡単だからそっちでもよし。あとで決める。

デザイン

Figma(にがて)とAdobe Illustrator(予定)使ってSVGがりがりするのがいいのかな。時間があれば考える。

Conclusion

まあ、ざっくりとこんな感じで頭の中ではぼんやりと描いています。業務とはほとんど関係ないので、ほぼほぼブログのネタを食つなぐためだけに連載はじめる節があるのもまた事実。暇を見つけながらやっていきたいで候。
それでは Part 2 でお会いしましょう~。(僕に余裕があれば)

2020年03月28日

RESERVATION

THE STAY SAPPOROへのご予約はこちらから。
RESEVATIONPAGE Top
RESEVATIONPAGE Top