30秒で分かる要点
midnight-spot-alertとは?
24時間営業マップ(midnightspot 主にJavaScriptを使用し、公開コミットから機能追加と改善を積み重ねた過程を確認できます。
01 / 概要
プロジェクトの概要と目的
24時間営業マップ(midnightspot.jp) 地図データに 24時間営業( opening hours=24/7 ) と登録されている店舗だけを載せる静的サイト。 方針 「深夜まで営業」「たぶん開いている」という推測では載せない コンビニは載せない (数が多く、深夜に開いているのが当たり前のため) 混雑状況・在庫・空席は載せない(公開データが無いため) 営業時間は変わるので、行く前に店舗へ確認するよう各ページに明記する データ 内容 出所 店舗の名称・場所・種類・電話・公式サイト OpenStreetMap(ODbL 1.0) scripts/build spot data.py が都道府県ごとに取得して src/spots.json を書き出す。 手元の回線では Overpass に断られることが多いため、GitHub Actions ( .github/workflows/refresh data.yml )から実行する。 サイトの組み立て src/spots.json が空のときは、一覧を公開せず「準備中」ページだけを書き出す (noindex+ Disallow: / )。中身の無いページを検索結果に出さないため。 main へ push すると Actions が dist/ を Xserver へ rsync する。
本記事は公開されている構成と main ブランチのコミットを一次情報として整理しています。
02 / 使用技術
使用技術と役割
主要な実装言語として、プロダクトの中心機能を構成します。
03 / 設計
構成から読み解く設計
主な項目は です。
- 単一アプリケーション構成
- 機能単位の責務分割
04 / 変更履歴
コミットから見る実装の変遷
以下は既定ブランチの直近の変更です。リンク先で原文と一次情報を確認できます。
- 24時間営業の店舗データを更新する20ff1d3をGitHubで確認 ↗
- 24時間営業の店舗データを更新する492ec04をGitHubで確認 ↗
- actions/checkout と setup-node を v5 に上げる5d81deeをGitHubで確認 ↗
- 24時間営業の店舗データを更新する396feb3をGitHubで確認 ↗
- データ更新のあとに自動でデプロイするb81c6b4をGitHubで確認 ↗
- 24時間営業の店舗データを更新する993086dをGitHubで確認 ↗
- 企画書とダミーデータをやめ、24時間営業の店舗を載せる形に作り替える0a572d3をGitHubで確認 ↗
- 公開していた仮データと収益計画を下ろし、準備中ページにする1d84c0cをGitHubで確認 ↗
- 支援・購入への導線を追加するd681590をGitHubで確認 ↗
- 機能・コンテンツを追加824e307をGitHubで確認 ↗
- 機能・コンテンツを追加2391c59をGitHubで確認 ↗
- 機能・コンテンツを追加93902e0をGitHubで確認 ↗
05 / 学び
このプロジェクトから得られる学び
- 変更を小さく記録する
コミット単位で目的を分けると、実装の意図を追跡しやすくなります。
- 構成と技術選定を結び付ける
JavaScriptの採用理由と各ディレクトリの責務を説明できることが保守性につながります。
- READMEと実装を同時に育てる
説明とコードを近い状態に保つことが、再利用と振り返りを助けます。
06 / よくある質問
よくある質問
midnight-spot-alertは何を作るプロジェクトですか?
24時間営業マップ(midnightspot
midnight-spot-alertの主要技術は何ですか?
JavaScriptを中心に構成されています。
この記事の情報源は何ですか?
公開README、リポジトリ構成、既定ブランチのGitHubコミット履歴です。
コメント
この記事へのコメント
お名前だけで投稿できます。アカウント登録やログインは不要です。 いただいたコメントは確認のうえ公開します。