伊予鉄道 市内電車(路面電車)の出発電停と到着電停を選ぶだけで、最短で乗れる電車の発車時刻・系統・所要時間・運賃を表示するWebアプリです。
非公式アプリです。 伊予鉄道が提供する公式サービスではありません。表示する時刻・所要時間は目安であり、正確・最新の情報は必ず公式の時刻表・運行情報をご確認ください。
- 伊予鉄道 市内電車 全5系統(①②③⑤番、④は欠番、⑥番)・全29電停。
- 郊外電車・バスは対象外です。
- 出発電停・到着電停の選択(あいまい検索対応)
- 次発・次々発の表示(「次は約N分後」を含む)
- 乗り換えなし経路の探索と複数経路の比較(到着が早い順に列挙)
- 平日/土日祝(年末年始含む)の自動判定
- 運賃表示(大人・小児/現金・IC)
- 公式運行情報への外部リンク
- 現在地から最寄り電停を提示(到着電停のみ指定でも出発を最寄りに自動設定)
乗り換えあり経路、電停別の全系統時刻表閲覧、一日乗車券の損得案内、PWA(オフライン対応)は本リリースには含みません(Phase 2 以降)。
- Next.js(App Router)+ TypeScript + Tailwind CSS
- データは
data/の静的 JSON をクライアントサイドで読み込み(サーバー不要) - 祝日判定:
@holiday-jp/holiday_jp - ホスティング: Vercel
前提: Node.js(推奨 LTS)。
# 依存パッケージのインストール
npm install
# 開発サーバー起動(http://localhost:3000)
npm run dev
# 本番ビルド
npm run build
# 本番サーバー起動
npm run start
# Lint
npm run lintiyotetsu-tram/
├ data/ # 電停・系統・時刻表・区間の静的JSON(+ validate.py, data/README.md)
├ design/ # UI ハンドオフ資料
├ docs/ # 仕様書(spec.md)・UI設計(design.md)・規約(conventions.md) 等
├ public/ # 静的アセット
├ src/
│ ├ app/ # Next.js App Router(page / layout / globals.css)
│ ├ components/ # UI コンポーネント(TramApp ほか)
│ ├ lib/ # ドメインロジック(data / time / time-resolver / day-type / search / route-search / geo / fare / direction)
│ └ types.ts # 共通型定義
├ next.config.ts
└ package.json
本アプリのデータは、公式の時刻表・路線図・運賃を元に独自に構造化した事実情報です。
- 時刻表: 公式時刻表(2023年11月1日改正版)
- 運賃: 公式運賃(2026年4月1日改定)
- 路線図・電停情報: 公式路線図
データ区分:
- 一次データ(
stops.json/routes.json/timetable_route*.json): 公式資料を元に構造化し原本照合済み。 - 派生データ(
segments.json): 公式に時刻記載のない中間電停を補間した推定値。
公式に時刻が記載されている電停は公式値、中間電停は計算による推定値として内部で区別しており、所要・到着の一部は推定値を含みます。
詳細は data/README.md を参照してください。
- 本アプリは伊予鉄道の非公式ツールです。
- 表示する時刻・所要時間・運賃は目安です。正確・最新の情報は、伊予鉄道の公式時刻表および公式運行情報を必ずご確認ください。
- データ基準: 時刻は2023年11月1日改正、運賃は2026年4月1日改定に基づきます。改正・改定後は実際と異なる場合があります。
- 途中電停の発車・到着・所要時間は推定値を含みます。
アプリ内にも「このアプリについて(ⓘ)」として同等の免責を掲載しています。