An open API service indexing awesome lists of open source software.

https://github.com/knjcode/hmms

電車やバスが到着するまでの時刻を一覧でカウントダウンするWebアプリ
https://github.com/knjcode/hmms

Last synced: about 2 months ago
JSON representation

電車やバスが到着するまでの時刻を一覧でカウントダウンするWebアプリ

Awesome Lists containing this project

README

          

hmms
====

電車やバスが到着するまでの時刻を一覧でカウントダウンするWebアプリ
デフォルトは現在時刻を基準にカウントダウン(画面下部のスライダで時刻を微調整可)

# 作成の経緯

自宅と最寄駅間のバスが2ルート(バス停までの距離と乗車時間がほぼ同じ)あり、どちらのバスが早く来るか、各々の時刻表を確認するという作業を繰り返していましたが、次第に面倒くさくなり、複数の時刻表を一覧でカウントダウンできるアプリを作りました。
自宅がモロバレするため、リポジトリに含まれる時刻表はサンプルに差し替えてあります。

# 使い方

- リポジトリをクローン
- 時刻表ファイルを適宜修正
- 各種ファイルをwebサーバに配置
- index.htmlにアクセス

iPhoneで利用する場合にはSafariの共有メニューから「ホーム画面に追加」を選択することで単体アプリのように起動できます。

## 時刻表のフォーマット

ファイル形式はcsvで、1行目で路線種別、出発駅、行き先を設定し、2行目以降には[平日]、[土曜]、[日曜・祝日]、ごとに出発時刻を記入します。
出発時刻の行は4カラムで構成され、hh:mm形式の時刻,種別(各駅、快速等),行き先,備考 の順で記入します(時刻以外は省略可能)。
デフォルトでは6つの時刻表が表示されます。(1ban.csv ~ 6.ban.csv)

時刻表サンプル(説明用のため実際の時刻表とは異なります)
```csv
JR中央線快速,新宿駅,東京方面
[平日]
06:04,快速,東京行,始発
06:11,快速,東京行,
06:17,快速,東京行,
...
23:31,快速,東京行,
23:40,快速,東京行,
23:47,快速,東京行,
[土曜]
06:38,中央特快,東京行,始発
06:52,快速,東京行,
07:00,中央特快,東京行,
...
22:21,快速,東京行,
22:30,快速,東京行,
22:38,快速,東京行,
[日曜・祝日]
06:38,中央特快,東京行,
06:52,快速,東京行,
07:00,中央特快,東京行,
...
```

# アプリの修正

## 使用しているツール

Webアプリ作成にあたり、gulp, jade, sass, CoffeeScriptを利用しています。
アプリを改造する場合にはそれぞれ以下のファイルを修正します。
HTML: jade/index.jade
CSS : sass/hmms.scss
JavaScript: coffee/hmms.coffee

## 修正したファイルをコンパイルする

各種ファイルのコンパイルには、node.js, npm, gulpが必要です。
```shell
$ npm install -g gulp // gulpをグローバルにインストールしていなければ導入する
$ npm install // 使用するパッケージを一括でインストール
$ gulp // 修正したファイルをコンパイル
```

gulpのオプションは以下のとおりです。
coffee: CoffeeScriptのみコンパイル
sass : scssファイルのみコンパイル
jade : jadeファイルのみコンパイル
serve : 各種ソースファイルの変更監視&ブラウザシンク
clean : コンパイルで生成されるァイルの一括削除

# TODO

- オフラインでも時刻表が見られるようアプリケーションキャッシュに対応
- 現状は次の電車orバスの出発時刻しか分からないため、時刻表自体を表示できるようにする
- 表示する路線や路線数をアプリ上で変更可能にする(現状はhtmlの書き換えが必要)

# 謝辞

祝日判定用に[Songmu / japanese.holiday.js](https://gist.github.com/Songmu/703311)を使わせてもらっています。