Nexync(ネクシンク)- 1つのIDで、すべての業務へ。組織と人を繋ぐ、セキュアで快適な社内システム共通基盤。
目次
1. アプリケーション概要
Nexync(ネクシンク)は、企業・組織内で稼働する複数のWebアプリケーション(社内システム)を束ねる統合ID・アプリポータル基盤です。
軽量なPHPとSQLiteのみで動作し、複雑なサーバー構築やミドルウェア(MySQLやRedisなど)を一切必要としません。ファイルをWebサーバーにアップロードするだけで、即座にエンタープライズ品質の「シングルサインオン(SSO)」「ゼロトラスト・セキュリティ」「社員マスタ・組織マスタ・取引先マスタ」を構築できるフリーソフトです。
1.1.名称の由来
「Nexus (核心・結びつき) + Sync (同期)」の造語。組織内の人とシステムを中央で結びつけ、常に最新の状態で同期させるという役割を表しています。
1.2. 主な特徴
- 完全ゼロコンフィグ: データベースは初回アクセス時に自動生成され、連携する社内アプリも自動でスキャン・検知されます。面倒な設定ファイル(.env等)の編集は不要です。
- シングルサインオン (SSO): 一度のログインで、連携するすべての社内システムへ安全にアクセスできます。
- 強固なセキュリティ: ミリタリーグレードの自動CSRF防御、プロキシ対応IP解決、ブルートフォース防御、セッションの強制破棄機能などを標準搭載。
- オフライン・ファースト: ネットワークが遮断されても操作データを端末内に暗号化して一時保存し、復帰時にバックグラウンドで自動同期します。
- PWAとテーマ同期: スマホアプリのようにインストール可能。管理画面から色を変えるだけで、システム全体のカラーとアプリアイコンが全自動で即座に再生成されます。
2. 動作環境
- Webサーバー: Apache, Nginx などの一般的なWebサーバー
- PHP: バージョン 8.0 以上(8.3 推奨)
- データベース: SQLite3 (ファイルベースのため別途インストール不要)
- クライアント: 最新の Google Chrome, Edge, Safari, Firefox
3. インストール手順
Nexyncは、既存の環境を汚さずに独立して動作するよう設計されています。
Step 1: ファイルの配置
ダウンロードした nexync フォルダ一式を、Webサーバーの公開ディレクトリ(ドキュメントルート)内の任意の場所にアップロードします。
推奨される配置例は以下の通りです。
/var/www/html/
├── nexync/ <– このフォルダを丸ごとアップロード
├── fleet/ <– 連携させたい他の社内システム
└── mileage/ <– 連携させたい他の社内システム
Step 2: データディレクトリの書き込み権限付与
Nexyncは、セキュリティのため公開ディレクトリ(html/)の1つ上の階層(上記例なら /var/www/ 直下)に、データ保存用の nexync_data フォルダを自動作成しようとします。
自動作成に失敗する場合は、手動で nexync_data フォルダを作成し、Webサーバー(www-data や apache 等)が書き込める権限(例: chmod 755 または 777)を付与してください。
Step 3: 初回アクセスと自動セットアップ
ブラウザからNexyncのURL(例: https://your-domain.com/nexync/)にアクセスします。
この瞬間、システムが自律的にデータベースの構築とマイグレーションを行い、ログイン画面が表示されます。
4. ログインとセットアップ
初回起動時、セキュリティのため初期管理者のパスワードは完全なランダム文字列で生成され、サーバー内部にテキストファイルとして保存されます。
Step 1: 初期パスワードの確認
サーバー上のデータ保存ディレクトリ(nexync_data/)の中に、initial_admin_password.txt というファイルが生成されています。このファイルを開き、初期パスワードを確認してください。
Step 2: 初回ログイン
ブラウザのログイン画面にて、以下の情報でログインします。
- 社員ID: admin
- パスワード: (テキストファイルに記載されたランダムな文字列)
Step 3: セキュリティのためのパスワード変更 (必須)
- ログイン後、サイドメニューから「マイページ」を開きます。
- 「現在のパスワード」に初期パスワードを入力し、「新しいパスワード」をご自身の任意のパスワードに変更して保存してください。
- 【重要】 変更完了後、サーバー上の nexync_data/initial_admin_password.txt は必ず削除してください。
5. 運用と管理
システム管理者(初期の admin アカウント)は、以下の手順で組織のセットアップを行います。
- システム設定: サイドメニューの「システム設定」から、会社情報やテーマカラーを設定します。保存するとPWAアイコンが自動生成されます。
- 部署・役職マスタ: 「部署マスタ」「役職マスタ」から、会社の組織や連絡先を登録します。
- 取引先マスタ: 「取引先マスタ」から顧客やパートナー企業を登録・インポートします。
- 社員の招待 (オンボーディング):
- 「社員マスタ」から「新規登録」をクリックします。
- 対象者の「社員ID」「氏名」「所属」などを入力して保存します。
- システム権限は「システム管理者」「管理者」「一般」とあり、「システム管理者」は全機能にアクセス可能、「管理者」は制限されていり機能のみアクセス可能、「一般」は使用に必要な機能のみアクセス可能となっています。
- アカウント状態は、「有効」と「無効」があり退職や休職の場合に「無効」にするとログイン不可となります。
- 保存後、その社員専用の「パスワード設定用ワンタイムURL」が発行されます。
- このURLを対象の社員にチャット等で共有し、本人に初回パスワードを設定させてください(URLの有効期限は30分です)。
6. 連携アプリ(子システム)の追加方法
Nexyncは「ゼロコンフィグ・スキャナー」を搭載しています。Nexyncディレクトリと同じ階層にある他のフォルダを自動的にスキャンし、アプリとしてポータルに表示します。
- nexync フォルダと同じ階層に、連携したいアプリのフォルダ(例: mileageflow)を配置します。
- これだけで、Nexyncの「アプリポータル」画面に自動的にアプリが追加・表示されます。データベースへの手動登録は一切不要です。
7. ディレクトリ構造
Nexyncのプログラム本体のファイル構成です。Pure MVCアーキテクチャに基づき、各責務が明確に分離されています。
nexync/
├── index.html # メインUI(SPAコンテナ・View定義)
├── manifest.json # PWA設定ファイル(動的に上書きされます)
├── sw.js # サービスワーカー(オフラインキャッシュ制御)
├── style.css # ネイティブCSSスタイル
├── tailwind-config.js # Tailwind CSSのカスタム設定(色変数の紐付け)
├── theme.php # 動的テーマカラーCSS変数注入エンジン
│
├── api/ # バックエンドAPI群 (Controller/Model)
│ ├── auth.php # 認証・SSOトークン発行・検証
│ ├── users.php # 社員マスタのCRUD
│ ├── user_histories.php # 社員の保有資格・職歴
│ ├── org.php # 部署・役職マスタのCRUD
│ ├── calendar.php # 会社カレンダーのCRUD・自動計算
│ ├── clients.php # 取引先マスタのCRUD
│ ├── settings.php # システム設定の保存
│ ├── apps.php # 連携アプリの自動スキャン
│ ├── audit.php # 監査ログの取得
│ ├── backup.php # DBの防爆エクスポート・インポート
│ ├── icon.php # GDライブラリによる高画質PWAアイコン動的生成
│ ├── sync_icon.php # PWAアセット同期ゲートウェイ
│ └── db.php # [中核基盤] DB接続, マイグレーション, CSRF・セッション防御
│
├── assets/ # フロントエンド・アセット
│ └── js/
│ ├── core.js # [Model] 状態管理(AppState)、API通信ラッパー
│ ├── ui.js # [View] DOM操作、HTMLテンプレート生成、UIレンダラー
│ └── controllers.js # [Controller] イベントバインド、ビジネスロジック、画面遷移
│ └── templates/
│ ├── 各種マスタの初期値CSVファイル 9個
│ └── components.html # <template>タグ群を抽出
│
├── sdk/ # 子システム連携用SDK
│ ├── nx-core.php # PHPバックエンド用 セキュリティ・SSO連携SDK
│ └── nx-ui.js # JSフロントエンド用 通信・オフライン・UIコンポーネントSDK
│
└── docs/ # ドキュメントディレクトリ
├── CHANGELOG.md # 変更履歴(システム設定画面から参照可能)
├── specification.md (基本仕様書)
└── API-SDK_specification.md(統合API_SDK連携仕様書)
(システム稼働時、本ディレクトリとは別のセキュアな領域に nexync_data/ フォルダが生成され、データベース nexync.sqlite3 やアイコンのキャッシュファイルなどが保存されます)
8. ダウンロード
上記画像リンクからzipファイルをダウンロードしてください。
9. 変更履歴
Version 2.0.0 – 2026年7月20日
- 初回公開バージョン
Version 2.1.0 – 2026年8月9日
✨ 新機能
- 取引先マスタ管理: 顧客やパートナー企業を管理する「取引先マスタ」および「区分タグ」機能を新規追加しました。
- スマートCSVインポート: 取引先の一括登録において、カラムのマッピングや条件に基づくタグの自動付与を設定できる高度なCSVインポート機能(バルクUpsert対応)を実装しました。
🏗️ アーキテクチャ・設計の大幅刷新
- テンプレートの外部化: 肥大化していた index.html からtemplateタグ群を抽出し、外部ファイル(assets/templates/components.html)への完全分離・遅延読み込みを実装。保守性と初回ロード速度が大幅に向上しました。
- BFFパターンの導入: カレンダーの祝日取得など、フロントエンドから直接外部APIを呼び出していた処理をバックエンド(PHP)へ移譲し、CORS問題やセキュリティリスクを解消しました。
🛡️ 堅牢性・信頼性の向上
- Exponential Backoff(指数バックオフ)リトライ: SQLite特有の database is locked(排他ロックエラー)対策として、非同期バッチ処理(CSVインポート等)に自動リトライ機構を実装。時間間隔を倍増させながらランダムなジッター(揺らぎ)を加えることで、複数ユーザーの競合時もデータを欠損させず安全に処理を完了させます。
- 環境ヘルスチェック・自己診断: db.php の初期化プロセスを強化。サーバーのディレクトリ作成権限や書き込み権限(パーミッション)が不足している場合、無言の500エラーではなく、原因と具体的な解決策をフロントエンドに専用モーダルとして提示する機能を実装しました。
🔌 SDK・子システム連携の拡張
- Backend SDK (nx-core.php) を v1.8.0 へアップデート: 子システムから、Nexyncの取引先マスタデータ直接取得できる Data Access API (getClients, getClientById, getClientCategories, getUsers, getDepartments) を実装しました。
- Frontend SDK (nx-ui.js) を v1.12.0 へアップデート: 子システム側のJavaScriptから非同期で取引先マスタを取得できる window.Nexync.Master.getClients() などのメソッドを追加しました(内部キャッシュ自動対応)。
Version 2.2.0 – 2026年8月21日
✨ 各種マスタ管理
- マスタ管理に「雇用形態」「職種」「血液型」「資格名」「資格取得機関」の追加、「取引先区分(タグ)」もマスタに追加して各種マスタ管理画面に統合し、1つの画面で一元管理できるように改修しました。
- – 追加されたすべてのマスタデータにおいて、初期データが空の場合は自動的にデフォルトのCSVからデータがインポートされる完全自動のセルフ・セットアップ機構を搭載しました。
- – 各種マスタ(部署、役職、雇用形態、職種、区分など)の新規登録時に、現在の最大値から次の順序やランクを自動計算して入力欄にセットする「自動採番(サジェスト)機能」を実装しました。
- – 資格マスタの新規登録時、区分を選択した瞬間にその区分の最新コード連番を自動サジェストする機能を搭載しました。
- – 各種マスタ管理画面にインクリメンタル検索(フィルター)機能を追加。キーワードを入力するだけで表示中のマスタ一覧が即座に絞り込まれるようになりました。
🏗️ 社員マスタ
- 社員マスタにおいて、新たに「性別」「血液型」「雇用形態」「職種」「生年月日」「入社年月日」「退職年月日」「社用携帯電話」を登録・管理できるようにしました。
- 社員ごとに「保有資格・教育受講歴(取得機関や交付番号含む)」および「職歴・異動履歴」をタイムライン形式で管理できるUIを追加しました。
- 社員マスタはリスト表示のみでしたが1件ずつ見れるカード式のビューも追加しました。
- 社員マスタの保有資格・教育受講歴の入力フォームにて、資格名と教育機関名のドロップダウンを「テキスト入力で検索・絞り込み可能なカスタムドロップダウン (Searchable Select)」にアップグレードし、数百件のリストからの選択を容易にしました。
- システム設定の運用会社情報に「定年・就業ルール設定」を追加し、生年月日とから「定年・就業ルール設定」から「定年予定日」および「定年までの残り日数/年数」をプロフィール画面で自動計算・表示する機能を実装しました。
🏗️ 取引先マスタ
- 取引先マスタはリスト表示のみでしたが1件ずつ見れるカード式のビューも追加しました。
🔌 アーキテクチャの純化とSDKの拡張
- 社員一覧、各種マスタ、取引先一覧、および各プロフィールの検索ボックスにおいて、Chrome等のパスワードマネージャーがユーザー名を強制入力してしまう誤爆問題を防ぐため、HTMLのセマンティクスを type=”search” + autocomplete=”off” に変更する根本的な対策を施しました。
- Backend SDK (`nx-core.php` v1.9.0) および Frontend SDK (`nx-ui.js` v1.13.0) をアップデートし、追加された全マスタデータを子システムから直接、またはキャッシュ付きで非同期取得できる Data Access API を実装しました。
10. 免責事項・お問い合わせ
- 本ソフトウェアはフリーウェアとして提供されています。ご利用にあたっては組織内のセキュリティ方針に沿って動作確認を行った上でご活用ください。
- 不具合等のバグ報告や意見などは、メール(info@aizack.net)もしくはウェブサイトのコメントからお願いいたします。
最近のお気に入りの曲
「SUPERBLOOD」の「RESCUE ME」 これも良い曲だなあ。




「1つのIDで、すべての業務へ。組織と人を繋ぐセキュアで快適な社内システム共通基盤 「Nexync v2.2.0」」に2件のコメントがあります