旅行日程(Trip / TripDay / ScheduleItem)および場所(Place)を管理する
REST API ベースのバックエンドサーバーです。
![]() キム・ミンギュ チームリーダー @dgk99 |
![]() パク・ジョンミン メンバー @jammmin02 |
![]() キム・ダヨン メンバー @dayeon2423004 |
- SPA ベースの UI 構成(React)
- REST API(JSON)連携
- コンポーネント単位の UI 設計
- Vanilla PHP による REST API サーバー実装
- Laravel フレームワークを活用した構造化されたバックエンド設計
- JWT ベースの認証処理
- リレーショナルデータモデリング
- トランザクションを用いた順序再配置ロジック
- Unique 制約を考慮したデータ整合性管理
- Docker コンテナベースの開発環境構築
- Frontend / Backend / DB の分離運用
- REST API 通信構造の設計
- GitHub を活用した協業およびバージョン管理
- PR テンプレートを用いたコードレビュー
- 会員登録 / ログイン(JWT 発行)
- ログアウト
- マイページ情報取得
- 会員退会
- 国コードに基づく地域情報取得
- 地域検索機能
- 将来的な国追加を考慮した設計
- Trip 作成 / 取得 / 更新 / 削除
- TripDay 作成 / 削除
- TripDay 並び替え(day_no 再整理)
- 外部地図 API の検索結果を保存(Upsert)
- 保存済み場所情報の取得
- 日程の作成 / 取得 / 更新 / 削除
- 日程順序の再配置(seq_no)
- 複数同時再配置およびクロス移動対応
| Domain | Method | Endpoint | Description |
|---|---|---|---|
| Auth | POST | /api/v1/auth/register | 会員登録 |
| Auth | POST | /api/v1/auth/login | ログイン |
| Auth | POST | /api/v1/auth/logout | ログアウト |
| User | GET | /api/v1/me | ユーザー情報取得 |
| User | DELETE | /api/v1/me | 会員退会 |
| Region | GET | /api/v1/regions | 地域取得 / 検索 |
| Trip | GET / POST | /api/v1/trips | Trip 一覧 / 作成 |
| Trip | GET / PUT / DELETE | /api/v1/trips/{trip_id} | Trip 詳細 |
| TripDay | POST | /api/v1/trips/{trip_id}/days | TripDay 作成 |
| TripDay | PUT | /api/v1/trips/{trip_id}/days/reorder | TripDay 並び替え |
| Place | POST | /api/v1/places/upsert | 場所 Upsert |
| Item | POST | /api/v1/trips/{trip_id}/days/{day_no}/items | 日程作成 |
| Item | PUT | /api/v1/trips/{trip_id}/days/{day_no}/items/reorder | 日程並び替え |
- 緯度(lat)/ 経度(lng)に基づく距離計算
- Haversine(ハーバサイン)公式を使用
- 日程間の移動距離の推定値を算出
Reference
- Places API(Web Service)を基準に場所情報を取得
- 外部の場所データを内部 Place テーブルに保存し再利用
Official Docs



