Javis OS
Javis OS is an Agentic AI that assists entrepreneurs in business tasks, helping them grow their work.
AI translation
Scope 1・2・3 の算定から開示用レポートの出力までを一つにしたオープンソースの GHG 管理プラットフォーム。SSBJ・TNFD 対応レポートへ拡張予定。Apache License 2.0、セルフホスト可。
Translation pending
BusinessTypeScript · PLpgSQLGitHub @japan-gx-groupOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
GreenTrack GHG Management — オープンソースのGHG排出量の算定・可視化・レポーティングツール
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗公式サイト: https://g-track.org/ — 製品概要・導入事例・お問い合わせはこちら。
OpenGreenTrack は企業向けの温室効果ガス(GHG)排出量算定・可視化・管理プラットフォームです。Scope 1 / 2 / 3 を横断し、拠点別・カテゴリ別の排出量を集計して、経営層から現場まで意思決定に活かせるダッシュボードを提供します。
| 技術 | 役割 |
|---|---|
| Next.js(App Router) | フロントエンドフレームワーク。ファイルベースルーティング・Server Components |
| React | UIコンポーネント |
| TypeScript | 静的型付け |
| Supabase | バックエンド基盤(PostgreSQL / Auth / RLS) |
| Tailwind CSS + CSS Variables | 緑基調のデザイン(src/styles/globals.css) |
| recharts | グラフ・チャート描画 |
| lucide-react | アイコン |
| clsx | クラス名結合ユーティリティ |
依存ライブラリは最新安定版を使用します(プレリリース版は不可)。バージョン方針・開発規約の正本は AGENTS.md を参照してください。
アーキテクチャの全体像は docs/architecture.md、ディレクトリ構成は docs/directory-structure.md を参照してください。
詳しい手順は docs/setup-guide.md を参照してください。
セットアップ方法は、目的に応じて 2 つあります。
| 経路 | 用途 | 主な流れ |
|---|---|---|
| ローカルで動かす(推奨) | まず無料で試す、開発する | Docker + Supabase CLI → npx supabase start → npm run db:reset:demo → npm run dev |
| クラウドで運用する | チーム利用、本番利用 | Supabase プロジェクト作成 → npx supabase link --project-ref xxx → npx supabase db push --include-seed → .env.local にクラウドの値を設定 |
Docker をインストールできない会社 PC では、クラウドで運用する経路を選んでください。macOS / Windows でのターミナル操作や Docker 未導入時の対応も docs/setup-guide.md に記載しています。
| ツール | 必要なバージョン | 確認コマンド | 備考 |
|---|---|---|---|
| Node.js | 24 以上(package.json の engines で指定) | node -v | 満たさない場合 npm install 時に EBADENGINE 警告が出ます |
| npm | Node.js 24 同梱のもの | npm -v | |
| Git | 任意の最新版 | git --version | |
| Docker Desktop | ローカルで動かす場合のみ必要 | docker --version | クラウドで運用する経路では不要 |
上から順に実行してください(ローカルで動かす場合)。
| 順番 | 作業 | コマンド |
|---|---|---|
| 1 | リポジトリ取得と依存インストール | git clone → npm install |
| 2 | 環境変数ファイルのひな形を作る | cp .env.example .env.local |
| 3 | Supabase 起動 → DB 作成 → .env.local に値を記入 | npx supabase start → npm run db:reset:demo |
| 4 | 開発サーバー起動 | npm run dev |
手順 1: リポジトリを取得して、依存パッケージをインストールします。
git clone <リポジトリURL>
cd OpenGreenTrack
npm install
npm install時に lefthook が Git フック(pre-commit)を自動セットアップします。 以降、コミット時にステージした.ts/.tsxに自動でeslint --fixがかかり、CI が赤くなる前にローカルで整えられます。 どうしてもスキップしたい場合はgit commit --no-verifyを使えますが、同じ lint は CI 側でも実行されます。
手順 2: .env.example をコピーして .env.local を作ります。
cp .env.example .env.local
実際の値は次章「Supabase セットアップ」を実行すると得られます。 取得した値を、次の対応表のとおり .env.local に書き込んでください。
| 取得元の名前 | .env.local の変数名 |
|---|---|
API_URL(ローカル) / Project URL(クラウド) | NEXT_PUBLIC_SUPABASE_URL |
ANON_KEY(ローカル) / anon public(クラウド) | NEXT_PUBLIC_SUPABASE_ANON_KEY |
SERVICE_ROLE_KEY(ローカル) / service_role(クラウド) | SUPABASE_SERVICE_ROLE_KEY |
npx supabase status -o env で上記 3 つの名前(API_URL / ANON_KEY / SERVICE_ROLE_KEY)の値が表示されます。npx supabase start の画面表示は Project URL / Publishable / Secret というラベルで、.env.local の変数名とは異なるため、値の確認には -o env を使うのが確実です。.env.example はコミットして共有する(サンプル値のみ).env.local は機密情報を含むため、決してコミットしない(.gitignore 済み)SUPABASE_SERVICE_ROLE_KEY は管理者権限キーのため、サーバ側でのみ使用する(クライアントコードでの参照禁止)Tip: ローカルで動かす場合は、次のコマンドで
.env.localに貼り付けられる 3 行をそのまま出力できます。npx supabase status -o env \ --override-name api.url=NEXT_PUBLIC_SUPABASE_URL \ --override-name auth.anon_key=NEXT_PUBLIC_SUPABASE_ANON_KEY \ --override-name auth.service_role_key=SUPABASE_SERVICE_ROLE_KEY
手順 3: Supabase を起動して DB を作り、.env.local の値を埋めます。
ローカルで試す場合:
npx supabase start
npm run db:reset:demo # DB を作り直し、公式排出係数マスタ + デモデータを投入
npx supabase start が完了したら、環境変数 の対応表に従って .env.local の 3 つの値を埋めてください(値は npx supabase status -o env で再表示できます)。
クラウドで運用する場合:
npx supabase link --project-ref <Project Ref>
npx supabase db push --include-seed # マイグレーション + 公式排出係数マスタを反映
supabase db reset はローカル DB を作り直すコマンド、supabase db push はクラウド DB へマイグレーションを反映するコマンドです。
Supabase CLI は npx supabase … で実行します(npm run db:* も内部で npx supabase を呼びます)。Homebrew 等で入れた supabase を併用する場合は、同じメジャーバージョンに揃えてください。
supabase/migrations/ はテーブル定義など DDL 専用(データは置かない)で、データは supabase/seeds/ にあります。supabase/seeds/production/(公式排出係数マスタ)は supabase db reset / supabase db push --include-seed で自動的に投入されます。supabase/seeds/demo/(デモ組織・デモユーザー [email protected] / password123 を含むデモデータ)は npm run db:reset:demo または npm run db:seed:demo で明示的に入れたときだけ投入されます。本番には入れないでください。手順の詳細とつまずきやすい点は docs/setup-guide.md、シードとコマンドの一覧は supabase/README.md を参照してください。
手順 4: .env.local を埋め終えたら起動します。
npm run dev
ブラウザで http://localhost:3000 にアクセスします(ポートは 3000 に固定)。
デモデータを投入した場合は [email protected] / password123 でログインできます。
| コマンド | 説明 |
|---|---|
npm run dev | 開発サーバー起動(http://localhost:3000) |
npm run build | 本番ビルド |
npm run start | 本番ビルドの起動 |
npm run lint | ESLint 実行 |
npm run test | テスト実行(vitest) |
npm run test:watch | テストをウォッチモードで実行 |
npm run test:e2e | E2Eスモークテスト実行(Playwright / ローカルSupabase必須) |
npm run test:e2e:ui | E2Eスモークテストを UI モードで実行 |
npm run test:e2e:install | E2E用のブラウザ(Chromium)をダウンロード(初回のみ) |
npm run db:reset | ローカル DB を作り直す(マイグレーション + 公式排出係数マスタ) |
npm run db:reset:demo | ローカル DB を作り直し、デモデータまで投入する |
npm run db:seed:demo | 起動中のローカル DB にデモデータ(supabase/seeds/demo/demo.sql)を投入する |
npm run db:seed:production | 起動中のローカル DB に公式排出係数マスタを(再)投入する |
npm run check:migrations | supabase/migrations/ にデータ操作(DML)が混入していないか検査する |
ドキュメントはすべて日本語です(ファイル名は英語 kebab-case に統一)。 All documentation is written in Japanese.
| ドキュメント | 内容 |
|---|---|
AGENTS.md | 開発規約の正本(AIエージェント・人間共通。必読) |
docs/architecture.md | Next.js + Supabase のアーキテクチャ |
docs/coverage-and-limitations.md | 算定の対応範囲と限界(対象ガス・Scope 2 の方式・Scope 3・検証されている範囲) |
docs/directory-structure.md | ディレクトリ構成規約 |
docs/setup-guide.md | ローカル / クラウドのセットアップ手順 |
docs/e2e-testing.md | E2Eスモークテスト(Playwright)の前提・実行方法 |
docs/functional-spec.md | 機能仕様(画面・URL・列挙型・バリデーション規則・算定ロジック概要) |
docs/database-design.md | DB 物理設計(テーブル・カラム定義) |
docs/calculation-logic.md | 算定ロジックの詳細(係数解決・単位換算・未算定の扱い) |
NEXT_PUBLIC_ プレフィックス付きのもののみSUPABASE_SERVICE_ROLE_KEY は RLS をバイパスする管理者キー。必ずサーバー側でのみ利用する.env.local を誤ってコミットした場合は、速やかに該当キーをローテーション(Supabase で再発行)するupload-quarantine バケット)へ直接アップロードし、サーバはパスだけを受け取ってストリーミングで読み取る。リクエストボディ制限のあるホスティング(Vercel 等)でも動作し、Node のメモリは数百MBで足りる(詳細は docs/setup-guide.md の 2-F)SECURITY.md の手順で報告してくださいバグ報告・機能提案・コード貢献を歓迎します 🌱
CONTRIBUTING.mdAGENTS.mdCODE_OF_CONDUCT.md本プロジェクトは Apache License 2.0 の下で公開されています。
docs/idea-scope3-spec.md| Scope 3 積上げ(IDEA データベース連携)の仕様 |