- Vue 67%
- Rust 18.8%
- TypeScript 13%
- JavaScript 1.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .vscode | ||
| public | ||
| src | ||
| src-tauri | ||
| tools | ||
| .gitignore | ||
| icon.svg | ||
| index.html | ||
| latest.json | ||
| package.json | ||
| pnpm-lock.yaml | ||
| README.md | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
Polaris System
Polaris System は、在庫管理業務向けの Windows デスクトップアプリです。
Tauri を使ってデスクトップアプリ化し、画面は Vue 3、データ保存は SQLite で構成しています。
この README は、ソースコードとアプリ構成を確認しやすいように、概要、セットアップ、運用、フォルダ構成を順番にまとめた資料です。
1. このアプリでできること
- 入庫登録
- 出庫登録
- 貸出登録
- 返却登録
- 倉庫移動、地番移動
- 在庫調整
- 在庫一覧の確認
- 入出庫履歴の検索と確認
- 不明在庫の照合
- 日次 / 月次ダッシュボードの確認
- 各種マスタの登録、更新、削除
- DB の初期化
- DB のバックアップ出力と復元
2. 技術スタック
- デスクトップアプリ: Tauri v2
- フロントエンド: Vue 3 + TypeScript + Vite
- UI: Tailwind CSS v4 + daisyUI + lucide-vue-next
- バックエンド: Rust
- データベース: SQLite
3. まず把握しておくとよいこと
- このアプリは Web アプリではなく、Tauri ベースのデスクトップアプリです
- 画面部分は
src/にあります - デスクトップアプリ側の処理と DB アクセスは
src-tauri/にあります - DB ファイルはソースコードの中ではなく、アプリ設定で指定したフォルダに
polaris.dbとして保存されます - DB 接続先の設定は Windows の
%APPDATA%\\polaris-system\\config.jsonに保存されます
4. 動作確認・再構築に必要な環境
本プロジェクトは、主に Windows 環境での動作確認および再構築を想定しています。
前提:
- Windows 10 または Windows 11
- Tauri アプリを開発できる環境
- pnpm
Tauri の開発環境には、Node.js、Rust、OS ごとのビルドツールが含まれます。
環境構築は、Tauri 公式ドキュメントの手順に沿って準備してください。
- Tauri 公式スタートページ: https://tauri.app/start/
- Tauri v2 事前準備: https://v2.tauri.app/start/prerequisites/
Windows での確認は、特に上記の Prerequisites ページに沿って進める形で問題ありません。
クイックインストールの入口としては、Tauri 側の前提環境を整えたうえで、プロジェクト側では次のコマンドを実行します。
pnpm install
pnpm tauri dev
準備後の確認コマンド:
pnpm -v
cargo -V
5. セットアップ手順
プロジェクトルートで依存関係をインストールします。
pnpm install
これで node_modules/ が作成され、フロントエンド側の依存が入ります。
Rust 側の依存は Tauri 起動時やビルド時に Cargo が解決します。
6. 起動方法
6-1. フロントエンドのみ起動する
画面確認のみを行う場合は、フロントエンドだけを起動することもできます。
pnpm dev
ただし、本アプリは Tauri コマンド経由で DB にアクセスするため、主要機能の確認は Tauri 経由での起動を前提とします。
6-2. デスクトップアプリとして起動する
本アプリの通常確認は、こちらの方法を使用します。
pnpm tauri dev
このコマンドで以下が起動します。
- Vite 開発サーバー
- Tauri デスクトップアプリ
- Rust 側のバックエンド処理
7. ビルド方法
7-1. フロントエンドをビルドする
pnpm build
この結果、dist/ にフロントエンドのビルド成果物が出ます。
7-2. デスクトップアプリをビルドする
pnpm tauri build
インストーラーや実行ファイルは、Tauri の通常の出力先に生成されます。
Windows 向け設定は tauri.conf.json を確認してください。
8. 主なコマンド
pnpm install
pnpm dev
pnpm build
pnpm tauri dev
pnpm tauri build
9. 初回起動時の流れ
このアプリは、DB の保存先フォルダが未設定だと通常画面には進まず、DB設定 画面から始まります。
初回の基本操作:
- アプリを起動する
DB設定画面で保存先フォルダを指定するフォルダを初期化を押す- 指定フォルダに
polaris.dbが作成される - その後、マスタ管理や入出庫画面が使えるようになる
既存のバックアップ ZIP がある場合は、バックアップから接続 を使って DB を復元できます。
10. DB の保存場所
SQLite の実ファイル名は polaris.db です。
例:
C:\work\poralis-system\polaris.db
どこに保存するかは、アプリの DB設定 画面で指定します。
11. DB 接続設定ファイル
DB フォルダ設定は、ソースコード内ではなく Windows の設定フォルダに保存されます。
設定ファイル:
%APPDATA%\polaris-system\config.json
内容例:
{
"db_folder": "C:\\work\\poralis-system"
}
この db_folder に対して、アプリ側で polaris.db を組み立てて接続します。
12. バックアップ運用
DB設定 画面では、DB フォルダ単位で ZIP バックアップを扱えます。
できること:
- エクスポート
- 現在の DB フォルダの内容を ZIP にまとめて保存します
- インポート
- ZIP を展開して現在の DB を置き換えます
運用上の注意:
- インポートすると既存 DB は上書きされます
- 重要データの入れ替え前には、別名バックアップを手元に残すことを推奨します
- 共有フォルダ運用をする場合は、アクセス権と排他タイミングに注意してください
13. マスタ管理で扱うデータ
マスタ管理画面で扱えるもの:
- 取引先
- ユーザー
- 倉庫
- 地番
- 出荷先
- サイズ
- カラー
この画面では、項目の追加、更新、削除に加えて、CSV のインポート / エクスポートも行えます。
14. 画面の大まかな役割
ダッシュボード
- 日次の動きや月次の動きを確認するための画面です
入出庫
入庫出庫貸出返却
担当者と取引先が選ばれていると入力できます。
在庫
在庫一覧移動在庫調整
在庫の参照と在庫状態の変更を扱います。
履歴・照合
入出庫履歴不明在庫照合
過去の取引履歴や、詳細不明在庫の確認に使います。
設定
マスタ管理DB設定
15. ディレクトリ構成と役割
納品後に参照しやすいよう、各フォルダの役割を整理しています。
ルート直下
polaris-system/
├─ .vscode/
├─ dist/
├─ node_modules/
├─ public/
├─ src/
├─ src-tauri/
├─ index.html
├─ package.json
├─ pnpm-lock.yaml
├─ tsconfig.json
├─ vite.config.ts
└─ README.md
src/
Vue 側のメイン実装です。
画面、共通部品、フロントエンド用 API 呼び出しが含まれます。
主な中身:
- App.vue
- 画面全体のレイアウトとナビゲーション
- main.ts
- Vue アプリの起動エントリポイント
pages/- 各画面コンポーネント
components/- 共通 UI 部品
composables/- Vue の再利用ロジック
lib/- Tauri invoke ラッパーや CSV 補助関数
assets/- フロントエンド用素材
src/pages/
業務画面の中心となる Vue コンポーネントが配置されています。
例:
- ReceiptPage.vue: 入庫画面
- ShipmentPage.vue: 出庫画面
- StockPage.vue: 在庫一覧
- HistoryPage.vue: 入出庫履歴
- MasterPage.vue: マスタ管理
- ConfigPage.vue: DB 設定
src/components/
複数画面で使う共通 UI を配置しています。
例:
- レイアウト
- 確認ダイアログ
- トースト通知
- 取引明細入力部品
src/composables/
Vue Composition API で使う共通ロジックを配置しています。
例:
- 確認ダイアログ制御
- トースト通知制御
src/lib/
フロントエンドから Rust / Tauri 側を呼ぶための窓口です。
主なファイル:
src-tauri/
Tauri アプリ本体と Rust 側処理です。
DB アクセス、バックアップ、各種コマンド定義が含まれます。
主な中身:
- Cargo.toml
- Rust 側依存関係
- tauri.conf.json
- アプリ名、バンドル設定、ウィンドウ設定
src/- Rust ソースコード本体
icons/- アプリアイコン
capabilities/- Tauri capability 設定
target/- Rust ビルド成果物
src-tauri/src/
Rust 実装の中心です。
主な構成:
- lib.rs
- Tauri コマンド登録の入口
commands/- 画面から呼ぶ各コマンド
db/- DB 接続とスキーマ定義
src-tauri/src/commands/
機能ごとの Rust コマンドを分けています。
主なファイル:
- config.rs
- DB フォルダ設定と初期化
- backup.rs
- ZIP バックアップの入出力
- master.rs
- 各種マスタ CRUD
- transaction.rs
- 入出庫や在庫更新などの主要処理
src-tauri/src/db/
DB 関係の基礎部分です。
主なファイル:
public/
Vite の静的ファイル置き場です。
dist/
pnpm build 実行後に生成されるフロントエンド成果物です。
通常は手で編集しません。
node_modules/
JavaScript / TypeScript 側依存です。
pnpm install で自動生成されるため、通常は編集不要です。
16. データベース設計
テーブル定義は schema.rs にあります。
主なテーブル:
clientsuserswarehouseslocationsdestinationssizescolorstransactionsstocksunknown_stocksunknown_stock_checksunknown_transaction_resultsunknown_detail_shipmentsunknown_detail_status
17. 導入後の確認手順
導入直後の確認は、次の流れで進めると把握しやすくなります。
pnpm installpnpm tauri devDB設定で利用するフォルダを指定フォルダを初期化マスタ管理で最低限のマスタを登録- 入庫、出庫、在庫一覧、履歴の基本動作を確認
18. トラブル時の確認ポイント
Tauri が起動しない
- Rust が入っているか
- Build Tools が入っているか
cargo -Vが通るかpnpm installが済んでいるか
DB が開けない
%APPDATA%\\polaris-system\\config.jsonのdb_folderが正しいか- 指定フォルダに書き込み権限があるか
polaris.dbが壊れていないか
画面は出るがデータ操作で失敗する
- Tauri 経由で起動しているか
- DB が初期化済みか
- 必要なマスタが入っているか
19. バージョン情報
- package version:
1.0.1 - Tauri app version:
1.0.1
20. 引き継ぎ時の補足
必要に応じて、以下の情報もあわせて共有すると運用しやすくなります。
- 実際に使う DB 保存先のルール
- バックアップ取得の頻度
- 復元手順
- マスタの初期登録ルール
- 運用担当者向けの画面操作説明
利用手順をより明確にする場合は、別途操作マニュアルを用意するとスムーズです。