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

リポジトリ技術解説

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

終電ホテル 終電後、飲み会後、ライブ後、急な出張延長などで「今夜近くに泊まれるホテル」を探すための楽天トラベル空室検索アプリです

主要言語: C#更新: 2026/07/30根拠コミット: 12

30秒で分かる要点

rakuten02とは?

終電ホテル 終電後、飲み会後、ライブ後、急な出張延長などで「今夜近くに泊まれるホテル」を探すための楽天トラベル空室検索アプリです 主にC#、CSS、JavaScript、Shell、TypeScript、Dockerfileを使用し、公開コミットから機能追加と改善を積み重ねた過程を確認できます。

01 / 概要

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

終電ホテル 終電後、飲み会後、ライブ後、急な出張延長などで「今夜近くに泊まれるホテル」を探すための楽天トラベル空室検索アプリです。 本番ドメインは https://shudenhotel.jp/ です。 構成 rakuten02 : Windows Formsアプリ版 rakuten02.Core : 楽天トラベル検索とジオコーディングの共通ロジック rakuten02.Web : ASP.NET Core Web版 Web版の起動 楽天APIの applicationId 、 accessKey 、任意の affiliateId 、本番URLを環境変数で設定します。 PUBLIC BASE URL はcanonical、OGP URL、sitemap、llms.txtに使われます。 GOOGLE ANALYTICS MEASUREMENT ID はGoogle Analytics 4の測定ID( G で始まる文字列)です。未設定の場合は計測タグを出力しません。 アプリ版の起動 Windowsアプリ版も楽天APIキーを環境変数から読み込みます。 既に公開リポジトリへ古い applicationId をpushしている場合は、楽天ウェブサービス側で新しいアプリIDを発行し、古いIDを使わない運用に切り替えることをおすすめします。 楽天アフィリエイト対応 Web版では楽天APIリクエストに affiliateId を渡します。予約リンクは次の優先順位で出力します。 1. affiliateUrl 2. reserveUrl 3. hotelAffiliateUrl 4. hotelInformationUrl 5. planListUrl リンクには rel="nofollow sponsored noopener" を付け、広告・アフィリエイトリンクとして扱われるようにしています。 キャッシュ 外部APIへの負荷を抑えるため、Web版はアプリ内メモリに短時間キャッシュします。 地名・駅名の緯度経度: 14日 楽天トラベル空室検索結果: 10分 空室情報は変動するため、予約

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

02 / 使用技術

使用技術と役割

01C#

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

02CSS

UI、設定、周辺機能またはビルド工程を支える技術です。

03JavaScript

UI、設定、周辺機能またはビルド工程を支える技術です。

04Shell

UI、設定、周辺機能またはビルド工程を支える技術です。

05TypeScript

UI、設定、周辺機能またはビルド工程を支える技術です。

06Dockerfile

UI、設定、周辺機能またはビルド工程を支える技術です。

03 / 設計

構成から読み解く設計

主な項目は DockerfileREADME.mddocspatchesrakuten02.Corerakuten02.Webrakuten02.slnrakuten02 です。

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

04 / 変更履歴

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

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

  1. 開発内容を統合1232322をGitHubで確認 ↗
  2. 機能・コンテンツを追加6560847をGitHubで確認 ↗
  3. 不具合や設定を修正720435aをGitHubで確認 ↗
  4. 実装内容を更新3656fa7をGitHubで確認 ↗
  5. 開発内容を統合2ddf851をGitHubで確認 ↗
  6. 実装内容を更新58c53a8をGitHubで確認 ↗
  7. 開発内容を統合2fa2796をGitHubで確認 ↗
  8. 実装内容を更新8581d93をGitHubで確認 ↗
  9. 開発内容を統合59d27e7をGitHubで確認 ↗
  10. 不具合や設定を修正74d1183をGitHubで確認 ↗
  11. 実装と使いやすさを改善9c3cb5dをGitHubで確認 ↗
  12. 実装と使いやすさを改善d9844b9をGitHubで確認 ↗

05 / 学び

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

  • 変更を小さく記録する

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

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

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

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

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

06 / よくある質問

よくある質問

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

終電ホテル 終電後、飲み会後、ライブ後、急な出張延長などで「今夜近くに泊まれるホテル」を探すための楽天トラベル空室検索アプリです

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

C#、CSS、JavaScript、Shell、TypeScript、Dockerfileを中心に構成されています。

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

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