HRS — ホテル予約システム
予約からチェックアウトまでを利用者自身で完結できるホテル予約Webアプリ。UMLによる分析・設計と実装を通しで担当しました。
概要
大学の授業の一環として制作した、ホテル予約システムです。
3週間・3名でチーム開発を行いました。このチーム開発の目的は、 UMLでオブジェクト指向分析・設計を行い、その設計どおりに実装できるかという点にありました。
機能
| 機能 | 内容 |
|---|---|
| 予約 | 日程・客室・宿泊者情報を入力して予約 |
| 予約確認 | 予約番号と代表者氏名で予約内容を照会 |
| キャンセル | 予約番号と代表者氏名で予約を取り消し |
| チェックイン | 予約情報を照合し、部屋を割り当て |
| チェックアウト | 料金と支払い方法を確認して宿泊を完了 |
| メール通知 | 予約・キャンセル・前日・チェックアウト時に送信 |
チェックイン前日の通知は、Vercel Cron Jobで毎日9 JSTに実行しています。
技術構成
アプリケーションはNext.js App RouterとReact、APIはRoute Handlers、データアクセスはPrisma、データベースはPostgreSQL(NeonまたはDocker)という構成です。メール送信はResend、テストはVitest、デプロイはVercelとNeonを使っています。
取り組んだこと
設計と実装のずれをどう防ぐかが、このプロジェクトで一番考えた点でした。クラス図とシーケンス図で決めた責務をそのままモジュール分割に落とし込み、予約番号と氏名による照合のように、仕様上重要な条件はテストで固定しています。
使用技術
TypeScript · Next.js · React · Prisma · PostgreSQL · Vitest · Vercel · UML