この講座はLaravel第3弾になります。
さまざまな業界で需要のある予約管理システムの中で、
日時を指定して予約できる「イベント管理システム」を想定して作っております。
Flatpickr.js、Carbonなどで日付の計算をしつつ、
JetStream + Livewireの機能を使い、
動的な予約カレンダーを作るように構成しています。
「説明書を読むよりまず動かしてみる」というスタンスな事もあり、
まずは動かしてみて、
必要に応じて必要な知識を覚えていくというスタイルで講座を構成しております。
(必要に応じて学習していく事を【遅延評価勉強法】というそうです。)
講座の内容
セクション1・・講座の説明・環境構築
セクション2・・JetStream, Fortify
セクション3・・Livewire
セクション4・・Alpine.js
セクション5・・施設側その1
(リソースコントローラ、Gate, flatpickr.js, クエリビルダ(whereDate, whereBetween), アクセサ,)
セクション6・・施設側その2
(サブクエリ、外部結合(leftJoinSub)、whereNotNull)
セクション7・・利用者側その1
(Livewire、CarbonImmutable, 動的な予約カレンダー)
セクション8・・利用者側その2(追加予定)
予約機能、ログインしてない場合はログイン画面にリダイレクト、セッション、マイページ、予約キャンセル
大量のコードを書いていく構成上、
ノーミスで全て収録するというのが難しい事もあり、
今回の講座ではセーブポイントのように後戻りできるよう、
『Git』を使って講座を進めています。
(ミスがあり次第セーブポイントに戻り、再収録しつつコードにも反映、
という事を何度か実施しています。)
もし『Git』を使ったことがなく、講座同様に扱ってみたいという場合は、
事前に補足のセクションをご参照いただいて、
『Git』の雰囲気もつかみつつ、講座をご利用いただければと思います。
■更新情報
2022/7 Viteについて追加しました。
2023/2 過去イベントを編集できないように対応。未ログインでも詳細までは表示できる方法を追加。
■動作環境
PHP 8.0
Laravel 9.x
Tailwindcss 3.x
■扱っている事
MVC/JetStream/Fortify/Livewire/Carbon/Bladeコンポーネント/RestFul/リレーション/外部キー制約/アクセサ/CarbonImmutable/Gateなどなど。
おまけ・・Tailwindcss, TailBlocks, flatpickr.js, Node.js/npm, Git/GitHub