30秒で分かる要点
Nostalgia-sとは?
昭和ノスタルジア 昭和の暮らしの手ざわりを書き留め、その名残がいまも残る全国のレトロスポットをたどる静的サイトです 主にAstroを使用し、公開コミットから機能追加と改善を積み重ねた過程を確認できます。
01 / 概要
プロジェクトの概要と目的
昭和ノスタルジア 昭和の暮らしの手ざわりを書き留め、その名残がいまも残る全国のレトロスポットをたどる静的サイトです。 読み物:暮らし・遊び・味・街・音の5つの入口から、書き下ろしの記録 全国のレトロスポット:銭湯、純喫茶、ゲームセンター、駄菓子屋、商店街、横丁、市場、レトロ資料館、映画館を都道府県別・種類別に収録 昭和年表:昭和元年(1926年)から昭和64年(1989年)まで 構成 Astro による静的生成サイトです。全ページがビルド時にHTMLとして組み上がるため、 検索エンジンにも読み上げ環境にも本文がそのまま届きます。 閲覧時に動くJavaScriptは、画面の時間帯(昼/夕暮れ)を切り替える処理だけです。 開発 npm run build の前に scripts/build og.mjs が走り、 public/ogp.png を生成します。 生成物なのでリポジトリには含めていません。 日本語グリフはCI環境にフォントがある保証がないため、この画像の文字は ラテン文字だけに絞り、和の要素は図形(煙突・湯気・朱の縦罫)で表しています。 astro.config.mjs の site と base は環境変数で差し替えられます。 GitHub Pages のプロジェクトページ以外に置く場合は次のように指定します。 スポットデータの更新 都道府県ごとに Overpass API へ問い合わせ、 src/data/spots.json を書き出します。 取得結果は .cache/overpass/ に県別・パート別で残るため、 途中で失敗しても再実行すれば不足分だけを取り直します。 Overpass 側の負荷制限が厳しく、1回の実行に数時間かかることがあります。 User Agent を送らないと 406 で弾かれる点、名前の正規表現だけで走査するクエリは 504 になりやすい点に注意してください(どちらも対処済みです)。 取得と組み立ては分かれています。 fetch osm spots.mjs は .cache/overpass/ に 貯めるだけで、 build
本記事は公開されている構成と main ブランチのコミットを一次情報として整理しています。
02 / 使用技術
使用技術と役割
主要な実装言語として、プロダクトの中心機能を構成します。
03 / 設計
構成から読み解く設計
主な項目は です。
- 単一アプリケーション構成
- 機能単位の責務分割
04 / 変更履歴
コミットから見る実装の変遷
以下は既定ブランチの直近の変更です。リンク先で原文と一次情報を確認できます。
- 支援・購入への導線を追加する18e7153をGitHubで確認 ↗
- OGP画像を生成し、スポットデータの月次更新を自動化する23bf117をGitHubで確認 ↗
- 全国47都道府県のレトロスポット14,026件を収録する2399f6bをGitHubで確認 ↗
- スポット一覧を都道府県×種類の階層に分割するb8b2102をGitHubで確認 ↗
- 都道府県ページに絞り込みを足す3012e5aをGitHubで確認 ↗
- 昭和ノスタルジーのサイトを立ち上げるbab3c27をGitHubで確認 ↗
05 / 学び
このプロジェクトから得られる学び
- 変更を小さく記録する
コミット単位で目的を分けると、実装の意図を追跡しやすくなります。
- 構成と技術選定を結び付ける
Astroの採用理由と各ディレクトリの責務を説明できることが保守性につながります。
- READMEと実装を同時に育てる
説明とコードを近い状態に保つことが、再利用と振り返りを助けます。
06 / よくある質問
よくある質問
Nostalgia-sは何を作るプロジェクトですか?
昭和ノスタルジア 昭和の暮らしの手ざわりを書き留め、その名残がいまも残る全国のレトロスポットをたどる静的サイトです
Nostalgia-sの主要技術は何ですか?
Astroを中心に構成されています。
この記事の情報源は何ですか?
公開README、リポジトリ構成、既定ブランチのGitHubコミット履歴です。
コメント
この記事へのコメント
お名前だけで投稿できます。アカウント登録やログインは不要です。 いただいたコメントは確認のうえ公開します。