30秒で分かる要点
bus-arrival-guideとは?
Bus Arrival Guideは、JavaScriptを中心に設計・実装したプロジェクトです。 主にJavaScriptを使用し、公開コミットから機能追加と改善を積み重ねた過程を確認できます。
01 / 概要
プロジェクトの概要と目的
bus arrival guide — BusStay(busstay.jp) 全国のバスターミナルから徒歩圏にある宿を、料金・口コミ・徒歩分で比較するサイト。 高速バスの到着後にそのまま向かえる距離の宿だけを掲載する。 データ源 内容 出典 ライセンス バスターミナルの名称・座標 OpenStreetMap( amenity=bus station ほか) ODbL 宿泊施設の名称・料金・口コミ・画像 楽天トラベル(楽天ウェブサービス) 各社規約 徒歩分 上記2つから計算 — 掲載しているのは実在の施設のみ。 徒歩分は直線距離を徒歩1分80mで換算した目安であり、 実際の経路とは異なる。料金は最低料金の目安で時期により変動する。 データの更新 data/terminals.json (到着地)を読み、各地点の周辺にある宿を楽天トラベルAPIで集め、 src/data/arrivals.json を生成する。 楽天API利用上の注意 golf search / camp hikaku での実績から判明している点。 踏むと原因が分かりにくいので必ず守ること。 1. バージョンは /20260731/ 。旧 /20170426/ は「endpoint retired」ではなく 一般的な 503 を返すため、認証エラーと誤認しやすい。 2. Referer / Origin は 資格情報の登録URL ( golf search.org )に合わせる。 リクエスト元ドメインではない。一致しないと 403 HTTP REFERRER NOT ALLOWED 。 3. 緯度経度は度ではなく 秒 (JGD2000 arcseconds)で返る。3600で割る。 4. この資格情報で使えるのは KeywordHotelSearch のみ。緯度経度による周辺検索 ( SimpleHotelSearch )は提供されていないため、キーワードで引いてから 座標で距離を絞り込んでいる。 ビルドとデプロイ npm run build は scripts/prerender.mjs を続けて実行し
本記事は公開されている構成と main ブランチのコミットを一次情報として整理しています。
02 / 使用技術
使用技術と役割
主要な実装言語として、プロダクトの中心機能を構成します。
03 / 設計
構成から読み解く設計
主な項目は です。
- 単一アプリケーション構成
- 機能単位の責務分割
04 / 変更履歴
コミットから見る実装の変遷
以下は既定ブランチの直近の変更です。リンク先で原文と一次情報を確認できます。
- 支援・購入への導線を追加する054d67fをGitHubで確認 ↗
- 機能・コンテンツを追加2f2c372をGitHubで確認 ↗
- 機能・コンテンツを追加b093109をGitHubで確認 ↗
- 機能・コンテンツを追加a1a31b7をGitHubで確認 ↗
- 機能・コンテンツを追加dcefa7eをGitHubで確認 ↗
- 機能・コンテンツを追加60418b6をGitHubで確認 ↗
- 実装内容を更新0457c1bをGitHubで確認 ↗
- 機能・コンテンツを追加2bc9e99をGitHubで確認 ↗
- 実装内容を更新7b0911aをGitHubで確認 ↗
- 機能・コンテンツを追加f129831をGitHubで確認 ↗
- 説明資料を更新a7db66bをGitHubで確認 ↗
- 機能・コンテンツを追加629a675をGitHubで確認 ↗
05 / 学び
このプロジェクトから得られる学び
- 変更を小さく記録する
コミット単位で目的を分けると、実装の意図を追跡しやすくなります。
- 構成と技術選定を結び付ける
JavaScriptの採用理由と各ディレクトリの責務を説明できることが保守性につながります。
- READMEと実装を同時に育てる
説明とコードを近い状態に保つことが、再利用と振り返りを助けます。
06 / よくある質問
よくある質問
bus-arrival-guideは何を作るプロジェクトですか?
Bus Arrival Guideは、JavaScriptを中心に設計・実装したプロジェクトです。
bus-arrival-guideの主要技術は何ですか?
JavaScriptを中心に構成されています。
この記事の情報源は何ですか?
公開README、リポジトリ構成、既定ブランチのGitHubコミット履歴です。
コメント
この記事へのコメント
お名前だけで投稿できます。アカウント登録やログインは不要です。 いただいたコメントは確認のうえ公開します。