バスNaviは運行時間を出発地ごとに現在時刻から近いバスの時刻を一覧表示する
弊学のHPにて掲載されている時刻表が読みづらいことやスクールバスの待機列が利用者から不明確なために
待機時間が長くなり、講義に間に合いにくいなど不満が多いのがきっかけとなった。

ホーム画面、時刻表の検索画面、設定の入力画面の3画面がある。
ホーム画面には大学と各目的地(八王子駅・八王子みなみ野駅・学生会館)それぞれを起点とする現在時刻から近いバスの出発時刻が
一覧表示されている。
時刻表の検索画面では利用者が求めているバスの時刻を絞り込み表示できる。
設定の入力画面には表示テーマの設定やプロフィール設定などが行える。

- 東京工科大学のホームページを経由せず最短で時刻表を閲覧できる
- 直感的に出発時刻や到着時刻を閲覧できる
- 利用者の位置情報を取得して利用者の位置情報から近い出発地点から次来るバスの出発時刻までの時間を通知する
- 時刻表の検索機能でバス停を中継した選択が表示されるようにする
- バスの時刻表にOGPを設定する etc...
- 開発するきっかけにもあった時刻表のUI
TypeScript, Go, Typespec
- Next.js
- Tailwind
- Echo
- Android
- iPhone
- Web Browser
- ホーム画面のUI
- Vercel: フロントエンド (Next.js) のホスティング
- App Engine Standard: API (Go) アプリケーションの実行
- Cloud SQL (PostgreSQL): データベース
- VPC Network: プライベートネットワーク
- Cloudflare: DNS + SSL/TLS + DDoS Protection
詳細は infra/README.md を参照してください。
cd apps/api
gcloud app deploy app.yaml --project=YOUR_PROJECT_ID --quietcd infra
terraform init
terraform apply -var-file=production.tfvarsVercelにプロジェクトをデプロイし、mainブランチにプッシュすることで自動デプロイされます。
環境変数:
NEXT_PUBLIC_API_URL=https://tut-bus-api.hekuta.net
# ログの確認
gcloud app logs read --service=default --project=YOUR_PROJECT_ID
# アプリケーションの状態確認
gcloud app describe --project=YOUR_PROJECT_ID