積み上げログ技術ブログ記事一覧へ

リポジトリ技術解説

Gesenmapの設計・技術選定・コミット履歴を解説

ゲーセンマップ(gesenmap

主要言語: PHP更新: 2026/09/05根拠コミット: 12

このページは、公開している GitHub リポジトリの README とコミット履歴から 自動でまとめた制作物の記録です。読み物として書いた記事は記事一覧の「読み物」にあります。

30秒で分かる要点

gesenmapとは?

ゲーセンマップ(gesenmap 主にPHPを使用し、公開コミットから機能追加と改善を積み重ねた過程を確認できます。

01 / 概要

プロジェクトの概要と目的

ゲーセンマップ(gesenmap.jp) 全国のゲームセンターを地図・都道府県から探せるサイト。Laravel + SQLite。 掲載データ 店舗の名称・住所・電話・営業時間・設置しているゲームの種類は、 各チェーンの公式サイトで確認したもの (GiGO / バンダイナムコアミューズメント / イオンファンタジー / タイトー)。店舗ページに出典と確認日を出す。公表されていない項目は空欄にし、推測で埋めない 生成: python scripts/build game center data.py → database/data/game centers.json (取得済みの内容は scripts/.cache に残るので、作り直すときはそこを消す) 取り込み: php artisan db:seed class=GameCenterOfficialSeeder (slug をキーにした upsert。 データから消えた公式店舗は掲載から外す) 更新は毎月1日に .github/workflows/refresh data.yml が自動で流す(手動実行も可)。 差分が出たらコミットされ、その push でデプロイまで進む 口コミ・応援投票・地図からの店舗登録は利用者の投稿。店舗ページで公式情報と区別して表示する カテゴリ(遊びの種類) 店舗を アーケードゲーム / プライズ / カプセルトイ / プリクラ / その他 に分ける。 /category ・ /category/{種類} ・ /area/{都道府県}/{種類} で引ける。 分類は公式が出しているものからしか決めない。 チェーン 何を根拠にするか GiGO 店舗ページの「ゲームの種類」 バンダイナムコ 店舗ページの「設置ゲーム機」タブ(区分)と「入荷プライズ」タブの有無 タイトー 一覧APIの StoreGroupID (0=ゲームセンター / 2=brooming=プリクラ専門 / 11=ガチャステ=カプセルトイ専門 / 1=ボウリング)。 7=マリオンクレープはゲームを置いていないので掲載しない イオン

本記事は公開されている構成と main ブランチのコミットを一次情報として整理しています。

02 / 使用技術

使用技術と役割

01PHP

主要な実装言語として、プロダクトの中心機能を構成します。

03 / 設計

構成から読み解く設計

主な項目は です。

  • 単一アプリケーション構成
  • 機能単位の責務分割

04 / 変更履歴

コミットから見る実装の変遷

以下は既定ブランチの直近の変更です。リンク先で原文と一次情報を確認できます。

  1. 公式のルールのページを足す(条文と通達にあたって書く)38d3fa6をGitHubで確認 ↗
  2. 店舗データを公式サイトの最新の内容に更新する96eb3f5をGitHubで確認 ↗
  3. 取り直したデータが本番へ出ないのを直す5d37ec7をGitHubで確認 ↗
  4. 店舗データを公式サイトの最新の内容に更新するcdfe91dをGitHubで確認 ↗
  5. 遊びの種類で店舗を引けるようにする157a0a5をGitHubで確認 ↗
  6. actions/checkout と setup-node を v5 に上げる247e116をGitHubで確認 ↗
  7. タイトーの240店を追加する962776dをGitHubで確認 ↗
  8. 店舗データの取り込みがサーバーで失敗しないようにするcfe5665をGitHubで確認 ↗
  9. イオンファンタジー701店を追加し、データ更新を自動化する5bb5010をGitHubで確認 ↗
  10. 公式サイトで確認したゲームセンター766店を掲載する36e53eeをGitHubで確認 ↗
  11. robots.txt のサイトマップを本番ドメインに直すaf84c07をGitHubで確認 ↗
  12. 支援・購入への導線を追加するf41841fをGitHubで確認 ↗

05 / 学び

このプロジェクトから得られる学び

  • 変更を小さく記録する

    コミット単位で目的を分けると、実装の意図を追跡しやすくなります。

  • 構成と技術選定を結び付ける

    PHPの採用理由と各ディレクトリの責務を説明できることが保守性につながります。

  • READMEと実装を同時に育てる

    説明とコードを近い状態に保つことが、再利用と振り返りを助けます。

06 / よくある質問

よくある質問

gesenmapは何を作るプロジェクトですか?

ゲーセンマップ(gesenmap

gesenmapの主要技術は何ですか?

PHPを中心に構成されています。

この記事の情報源は何ですか?

公開README、リポジトリ構成、既定ブランチのGitHubコミット履歴です。

コメント

この記事へのコメント

お名前だけで投稿できます。アカウント登録やログインは不要です。 いただいたコメントは確認のうえ公開します。