OSS探訪

チャットを軸に経費・支払い・ワークスペースを一つのReact Nativeクライアントへまとめる

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
5,042
主要言語
TypeScript
ライセンス
MIT
リポジトリ最終更新
2026/10/02
ページ内ナビ

概要

Expensify AppはNew ExpensifyのWeb・iOS・Androidクライアントを一つのReact Native codebaseで構築する大規模アプリケーションです。チャットを中心に経費、支払い、workspace collaborationを組み合わせ、offline/slow networkでも操作を先に反映する設計を採っています。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

Web・iOS・Androidを共通codebaseで開発する

React NativeとTypeScriptを中心に、Webとnative mobileの実装を同じrepositoryで管理します。platform-specific setupを分けつつ、業務ロジックやUIの大部分を共有できます。

出典:[2][4]

OnyxとPusherでoffline-firstな状態更新を行う

API guideではuser actionをoptimisticに反映し、HTTPS responseとPusher eventから届くincremental dataをOnyxへ流す設計が説明されています。slow networkでも操作を待たせにくい構成です。

出典:[3]

金融操作とchat collaborationを同じUXへ統合する

package descriptionとrepositoryの位置づけは、chatを土台にpaymentやexpense操作を組み込むfinancial collaboration clientです。

出典:[1][4]

向いている用途

大規模React Native製品の設計と運用を読みたい場合に向く

cross-platform UI、offline state、native platform差分、testing、release automationまでを含む実運用codebaseとして参照できます。

出典:[2][4]

導入前の確認

このrepositoryだけでは完全なセルフホスト版Expensifyにはならない

API guideはPHP web serverやAuth/database server、Pusherなど別のbackend serviceを前提にしています。App repositoryは主にclient codeであり、backend全体を含むself-hosted packageではありません。

出典:[3]

Node/npm versionとplatform-specific toolchainを合わせる

READMEはpackage.json enginesと.nvmrcのversionを厳密に使うことを推奨し、WatchmanやiOS/Android固有のsetupも案内しています。

出典:[2][4]

MITライセンスだが外部serviceや依存関係の条件は別途確認する

App repository自体はMITですが、接続するbackend service、map・push・payment等の外部serviceと依存packageには個別の条件があります。

出典:[6]

参考にした公式資料

  1. [1]Expensify/App repository(2026-10-01)
  2. [2]Expensify App README(2026-10-01)
  3. [3]Expensify App API guide(2026-10-01)
  4. [4]Expensify App package.json(2026-10-01)
  5. [5]Expensify App 9.4.98-0 release(2026-10-01)
  6. [6]Expensify App MIT license(2026-10-01)
編集部からの補足

実運用されている大規模React Nativeアプリとして、Web・iOS・Androidを共通コードで維持する設計やoffline-firstな状態更新を読む価値があります。一方、このrepositoryはExpensifyのクライアントアプリであり、完全なセルフホスト版バックエンドではありません。

3ステップで試す

  1. 1

    repositoryを取得

    New Expensifyの公式client repositoryを取得します。

    git clone https://github.com/Expensify/App.git && cd App
  2. 2

    Node環境と依存関係を準備

    READMEに沿ってnvm、project指定のNode/npm、Watchman、npm dependenciesを用意します。nvmのshell初期化が未設定の場合は公式nvm手順を先に完了してください。

    brew install nvm watchman && nvm install && npm install
  3. 3

    Web版を起動

    Web development serverを起動します。iOS/AndroidはREADMEからplatform-specific setupへ進みます。

    npm run web
公式READMEで確認

成長

成長の推移 · 直近30日

5,042 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
7,661
Open PR
827

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る
Stars
5,042
Forks
4,038
Watchers
80
Open Issues
1,534
Contributors
346
所有者種別
Organization
主要言語
TypeScript
ライセンス
MIT
リポジトリ最終更新
2026/10/02

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?
Expensify Appとは?React Nativeで作るチャット中心の経費・支払いクライアント | OSS探訪