世界を動かす技術を、日本語で。

OpenFLOW – あなたのマシンで美しいインフラストラクチャ図を迅速に作成する

概要

OpenFLOW は、ReactとIsoflowを用いた オープンソースのPWA で、ブラウザ上で動作する アイソメトリック図作成ツールオフライン対応自動保存 など、利便性とプライバシーを重視。 JSONインポート/エクスポート静的ホスティング が可能。 コントリビューション歓迎、ライセンスはMITおよびUnlicense。 主要ブラウザ対応、トラブルシューティング情報も充実。

OpenFLOWとは

  • オープンソース かつ 無料 のアイソメトリック図作成ツール
  • ReactIsoflowライブラリ で構築
  • PWA対応、ブラウザのみで動作・インストール可能
  • オフライン利用、データはすべてローカル保存
  • 美しい3D風技術図 を簡単作成

主な機能

  • アイソメトリック図作成 機能
    • ライブラリからキャンバスへ ドラッグ&ドロップ で部品追加
    • コネクタ で部品同士の関係を可視化
    • 色・ラベル・プロパティ のカスタマイズ
    • パン・ズーム による快適な操作性
  • 自動保存 機能
    • 5秒ごとに 自動保存
    • クイックセーブ で即時保存
    • 名前を付けて保存 で複製も可能
  • インポート/エクスポート
    • JSON形式 での図面保存・共有・バックアップ
    • ストレージマネージャ でローカル保存容量の管理
  • キーボードショートカット
    • Delete: 選択アイテム削除
    • Ctrl/Cmd + Z: アンドゥ(対応ブラウザのみ)
    • マウスホイール: ズームイン・アウト
    • ドラッグ: キャンバス移動

クイックスタート

  • ローカル実行手順
    • リポジトリをクローン: git clone https://github.com/stan-smith/OpenFLOW
    • ディレクトリ移動: cd openflow-local
    • 依存関係インストール: npm install
    • 開発サーバ起動: npm start
    • ブラウザで http://localhost:3000 を開く

保存・管理

  • 保存方法
    • 自動保存:5秒ごとにローカルストレージへ
    • クイックセーブ:ワンクリックで即時保存
    • 名前を付けて保存:複製やバージョン管理に便利
  • 管理機能
    • ロード:保存済み図面一覧から選択
    • インポート:他ユーザーのJSONファイル読み込み
    • エクスポート:作成図面をJSONでダウンロード
    • ストレージマネージャ:不要データの整理・削除

デプロイ・運用

  • 本番ビルド
    • 最適化ビルド作成: npm run build
    • ローカルサーバで確認: npx serve -s build
  • 静的ホスティング対応
    • GitHub Pages、Netlify、Vercel、AWS S3など
    • 任意のWebサーバで配信可能
  • PWA要件
    • HTTPS必須(localhost除く)
    • ブラウザローカルストレージ利用(上限5〜10MB)
    • 重要データは定期的にエクスポート推奨

対応ブラウザ

  • Chrome/Edge (推奨)
  • Firefox
  • Safari
  • PWA対応モバイルブラウザ

トラブルシューティング

  • ストレージ容量不足
    • ストレージマネージャで不要図面削除
    • 古い図面をエクスポート後削除
    • 最終手段としてブラウザデータ全消去(全図面消失注意)
  • PWAインストール不可
    • HTTPS利用確認
    • Chrome/Edge推奨
    • すでにインストール済みか確認
  • 図面消失時
    • ブラウザのローカルストレージ確認
    • 自動保存版を探す
    • 必要な図面は必ずエクスポートしてバックアップ

技術スタック

  • React :UIフレームワーク
  • TypeScript :型安全性
  • Isoflow :アイソメトリック図エンジン
  • PWA :オフラインファースト設計

コントリビューションとライセンス

  • 誰でもコントリビューション歓迎、Pull Request受付中
  • MITライセンス (Isoflowコミュニティ版)
  • Unlicense (OpenFLOW本体):改変・再配布自由

謝辞・関連リンク

  • Isoflow ライブラリ利用(https://github.com/markmanx/isoflow)
  • 開発者Webサイト: x0z.co

Hackerたちの意見

特に何か特別なことはしてないよ。ただ、ISOFLOWのコミュニティエディションをまとめて、簡単にセットアップして動かせるようにしただけ。これで、図のJSONバックアップをエクスポートしたり読み込んだりできるから、実質的に好きなだけ持てるようになったよ。コミュニティ版では制限があったからね。楽しんで!

Node.jsにはあまり詳しくないんだけど、isoflowのコードのどこにあの3Dスタイルのアイコンのグラフィックがあるか分かる?SVGなのかな?カスタムアイコンを追加することってできる?

図がめっちゃいい感じだね!お疲れ様。昔似たようなプロジェクトがあったのを思い出すなぁ。結局、マネタイズに苦労して潰れちゃったんだけど(名前は忘れた)。でも、これはMITのオープンソースだから、今はその心配はなさそうだね。下の「Isoflowライブラリで作成」ってリンクが404になってるよ。https://github.com/isoflow/isoflow

ありがとう!アイコンやデザインは全部Isoflowのおかげだから、全然自分の手柄じゃないよ。でも、彼らのコミュニティエディションはプロ版に誘導するように作られてるんだ。お金を稼ぐつもりは全くなくて、みんなに楽しんで使ってもらいたいだけ。リンクの指摘もありがとう、すぐに直すね ;)

これがGHページでホストできるなら、デモリンクはある?

https://codesandbox.io/p/sandbox/github/markmanx/isoflow ^ ISOFLOWには使えるオンラインデモがあるよ :)

クライブ・マックスフィールドの電子工学に関する本に載ってるアイソメトリック図が大好きだった。多くの回路は平面じゃないから(フリップフロップ、半導体層、FPGAアーキテクチャ)、パースペクティブビューを加えることで、すっきりして理解しやすく、記憶にも残りやすくなるんだよね。いろんな技術にうまく適応できると思う。 [1] https://www.clivemaxfield.com

これめっちゃすごい!Stylusっていう軽量のホームステータスサーバーを作ったんだけど、これと相性が良さそうだよ。https://github.com/mmastrac/stylus CSSクラスを自動で変更する仕組みで、基盤のisoflowライブラリがこれをサポートしてるみたい。

これ、Isoflowの上で何をしてるのかよくわからないな。Isoflowがかなりの部分を担ってる気がするんだけど?

その通りだよ、isoflowがここで90%の仕事をしてるのは隠してないけど、彼らのコミュニティパックにはこういう使いやすいバージョンがないんだ。それだけのことだよ。

これめっちゃいいね!Mermaid.jsは見た目がイマイチで、構文が難しかったりバグがあったりするけど、静的サイトジェネレーターではサポートが一番いいツールの一つなんだよね。MarkdownにIsoflowのダイアグラムが埋め込めたら最高だな。

Mermaidのアイデアは好きなんだけど、構文がちょっと複雑で、GitLabみたいなツールとの統合がすごく不安定なんだよね。

ありがとう!それは絶対に面白そうだから、TODOに入れておくね。

Markdownとの統合があったら本当にいいね。

あと、diagrams.mingrammer.comっていう素晴らしいツールもあるよ。

もし興味があれば、Snowflakeが1ヶ月前にOpenflowっていう製品を立ち上げたよ。君のは見つけるのがすごく難しいかもね。

ネットワークエンジニアなら誰でも知ってるネットワークテレメトリプロトコルのOpenFlowってのもあるよ。