あなたが作成しているものに似たフロアプラン アプリケーションを作成しました。ソースコードを見て、独自のフォークを作成してください。うまくいけば、そこから何らかのインスピレーションを得ることができます。
SVG 操作に最も関連するコードはMap.jsであるため、そこから開始することをお勧めします。マップ SVG の 1 つがmv.svgに保存されます。
残念ながら、これが実行されているライブ インスタンスを示すことはできません。これは内部の HR サーバー上にあるためです。
アーキテクチャに関する注意事項
- 壁と部屋の名前は SVG ファイルに保存されます。
- AutoCAD DWG をインポートできる Adobe Illustrator で生成
- 座席座標の JavaScript 配列を含むように手動で編集された SVG
- ページの読み込み時に、サーバー側のテンプレートによって SVG が HTML ソースに挿入されます
- そうしないと、
<object>
or<image>
タグまたは CSSを使用して SVG がロードされた場合background-image
、JavaScript を介して SVG DOM にアクセスできなくなります。
- 動的データ (会議、座席) は Mongo データベースから取得され、JSON REST API を介して公開されます
- クライアント側の JavaScript MVC アプリケーションは、Backbone を使用して動的データを SVG DOM に挿入し、イベント ハンドラーをアタッチします。
- 個人のアバターをクリックすると、詳細な個人情報が表示されます
- ユーザーが検索ボックスに入力すると、SVG のアバターに CSS クラスが適用されるため、検索に一致しないアバター画像は半透明になります。
データベース スキーマ
Mongo データベースにはpeople
コレクションがあり、それぞれに次の形式のドキュメントが含まれています。
{
"_id" : ObjectId("5201db41f5f4be9ae57e37a9"),
"fullname" : "Ben Hutchison",
"desk" : 3,
"office" : "mv",
"email" : "ben",
"title" : "Software Engineer, Graphic Designer",
"tags" : [ "des", "eng" ],
"linkedInId" : 139463329,
"mobilePhone" : "845-986-0123",
"workPhone" : "408-550-2995"
}
唯一の必須フィールドはfullname
(and_id
ですが、Mongo に自動生成させます)。
構成
config.json.example
提供された をコピーconfig.json
して新しいファイルに変更を加えることで、データベース接続と HTTP サーバーの設定を構成できます。
スクリーンショット
