架空のカフェのLPと予約フォームを作った話

架空のカフェのLPはこちら→https://lp.strn2014.com/cafe-haku/index.html

ソースコードはこちら→https://github.com/taka-k7/cafe-haku-lp

制作期間:2025/07/22〜2025/08/01

この記事では、上記LPを制作した理由や背景、技術的な工夫、実装時の悩み、今後の応用について記します。

【構成予定】

• なぜLPを作ることになったか

• 架空のカフェにした理由

• 実装中の悩み

• 予約フォームの発展的な使い方

■ なぜLPを作ることになったのか

もともとWordPressでサイトを運営しており、PHPやWordPressの理解は進んだが、HTML/CSSやJS、Web全体の構造についてもっと深く学びたかった。

WordPress以外のWebサイト構築方法が気になり、ChatGPTに尋ねたところ、CMS・静的サイト・Jamstack・SPAなど、様々な方法があることを知る。自分にはLP(ランディングページ)がちょうどよく、そこから開発に着手した。

■ なぜ「架空のカフェ」にしたのか

LPは「目的に特化した一枚ページ」が前提。つまり、事業やサービスがある前提で構成する必要がある。

そこで以下のような設定を設けた:

• 店名:cafe haku

• 営業時間:14:00〜18:00(L.O.17:30)

• 営業日:年中無休

• 隠れ家的立地(美術館・博物館近くのビル2階)

• 席数:カウンター5席、テーブル5席

• 運営者:マスターとパートナーの2名体制

• 完全予約制、電話予約不可(雰囲気を壊さないため)

【課題】

• 席数が少ないため、満席で断る場面が多い

• Instagramで予約状況を告知しているが、見落とす人が多い

• 電話予約できないため、問い合わせのハードルが高い

このような課題を抱えるカフェを想定し、来店者と運営者双方の負担を減らすための予約LPを制作した。

■ 実装中の悩み・技術的構成

当初はGoogleフォームで受け付けるだけのつもりだったが、それでは空席状況が反映できず不便。

そこで以下の構成を採用:

【技術構成】

• フロントエンド:HTML / CSS / JavaScript(バニラ)

• バックエンド:Google Apps Script(GAS)

• 使用サービス:

• Googleフォーム(予約情報の送信先)

• Googleスプレッドシート(データ保存、処理トリガー)

• Googleカレンダー(予約登録)

• Gmail(予約完了メール、リマインド、キャンセル対応)

【実装機能】

• 自作カレンダーUI(予約状況:◎ / △ / × 表示)

• 日付・時間選択 → フォーム入力 → GoogleフォームへPOST

• GASで予約情報を受け取り、スプレッドシートに保存

• Googleカレンダーにイベント登録

• 自動で確認メール送信

• リマインドメール・キャンセル処理の自動化

途中、バグや構文エラーに悩まされつつも、ChatGPTの力を借りて完成。

■ 予約フォームの応用

このフォーム構成は、カフェ予約以外にも応用可能と感じた。たとえば:

• 出藍文庫での書籍予約・郵送管理

• イベント参加申込

• 個人通販(例:ZINEや同人誌)など

予約 → 決済 → 発送という流れを分離して考えることで、安全かつ汎用性のある予約管理システムに応用できると感じた。

【想定フロー】

• 予約:ユーザー情報入力(Googleフォーム + GAS)

• 決済:PayPal決済ページへリンク

• 発送:管理者が発送 → GASで完了フラグ → 必要に応じてリマインド

以上が、今回の「架空のカフェLP」の制作記録です。

今後は、EC連携や在庫管理などにも発展させたいと思っています。

追記

ECを導入しました→「HPにフルスクラッチで小規模ECを導入した話

追記以上。


当サイトでは、月に一度小説の更新をお知らせするメールマガジンを配信しております。
登録及び解除はこちらから行えます→ メールマガジン発行について

書籍の先行予約・作品の裏話の限定公開、中編の先行公開・リクエストなどの特典があるファン倶楽部を開設しております。→ ファン倶楽部開設をお知らせ