業務効率化のためのビジネス管理システムです。Excelベースのデータ入力と自動計算機能を提供します。

- メール/パスワードログイン
- ロールベース権限管理(管理者、一般ユーザー)
- グローバルパラメータの管理
- システム全体の設定変更
- Excelライクなデータ入力フォーム
- リアルタイム自動計算
- データの自動保存
- PDF出力機能
- スタート
- MQ(現状)
- ①利益
- ②⑧MQ(未来)
- ③給料
- ④経費
- ⑤製造原価(人)
- ⑥製造(経費)
- ⑦原価詳細
- 損益分岐点
- 進捗実績値入力シート
- 部門別販売計画
- 利益計画表
- フロントエンド: Next.js 14 (App Router), TypeScript, Tailwind CSS
- バックエンド: Node.js + Express (独立サーバー)
- データベース: PostgreSQL
- ORM: Prisma
- 認証: JWT
- PDF生成: jsPDF
- UIコンポーネント: shadcn/ui
- 開発: フロントエンドとバックエンドの分離アーキテクチャ
- Node.js 18以上
- PostgreSQL 12以上
- npm または yarn
- リポジトリをクローン
git clone <repository-url>
cd business-system- 依存関係をインストール
自動セットアップ(推奨)
# Windows
setup.bat
# Linux/Mac
chmod +x setup.sh
./setup.sh手動セットアップ
# すべての依存関係をインストール
npm run install:all
# または個別にインストール
npm install
cd server && npm install
cd ../client && npm install- 環境変数を設定
サーバー側
cp server/env.example server/.envクライアント側
cp client/env.example client/.env.local各.envファイルを編集して、適切な設定を行ってください。
- データベースをセットアップ
# Prismaクライアントを生成
npm run db:generate
# データベースマイグレーションを実行
npm run db:push
# サンプルデータを作成
npm run db:seed- 開発サーバーを起動
オプション1: フロントエンドとバックエンドを同時に起動
npm run devオプション2: 個別に起動
# バックエンドサーバー (ポート3001)
npm run dev:server
# フロントエンド (ポート3000) - 別のターミナルで
npm run dev:clientアプリケーションは以下でアクセスできます:
- フロントエンド:
http://localhost:3000 - バックエンドAPI:
http://localhost:3001
├── server/ # Express バックエンド
│ ├── index.ts # メインサーバー
│ ├── routes/ # API ルート
│ │ ├── auth.ts # 認証
│ │ ├── admin.ts # 管理者機能
│ │ ├── user.ts # ユーザー機能
│ │ ├── calculate.ts # 計算
│ │ └── pdf.ts # PDF生成
│ ├── middleware/ # ミドルウェア
│ ├── lib/ # ユーティリティ
│ ├── prisma/ # データベーススキーマ
│ └── package.json # サーバー依存関係
├── client/ # Next.js フロントエンド
│ ├── app/ # Next.js App Router
│ ├── components/ # React コンポーネント
│ │ ├── ui/ # shadcn/ui コンポーネント
│ │ ├── auth/ # 認証コンポーネント
│ │ ├── layout/ # レイアウトコンポーネント
│ │ └── sheets/ # シートコンポーネント
│ ├── lib/ # フロントエンドユーティリティ
│ └── package.json # クライアント依存関係
├── package.json # ルート依存関係
└── README.md # ドキュメント
- id: ユーザーID
- email: メールアドレス
- name: 名前
- password: ハッシュ化されたパスワード
- role: ロール(ADMIN/USER)
- id: パラメータID
- key: パラメータキー
- value: パラメータ値
- description: 説明
- id: 入力ID
- userId: ユーザーID
- sheet: シート名
- cellKey: セルキー
- value: 入力値
すべてのAPIエンドポイントは http://localhost:3001 で提供されます。
POST /api/auth/login- ログインPOST /api/auth/logout- ログアウトGET /api/auth/me- 現在のユーザー情報
GET /api/admin/parameters- グローバルパラメータ取得POST /api/admin/parameters- グローバルパラメータ更新
GET /api/user/inputs- ユーザー入力データ取得POST /api/user/inputs- ユーザー入力データ保存POST /api/calculate- 計算実行POST /api/pdf/generate- PDF生成
GET /api/health- サーバー状態確認
TypeScriptで実装された純粋関数ベースの計算エンジンです。
- 基本的な四則演算
- ビジネス固有の計算(利益率、損益分岐点など)
- リアルタイム計算
- 依存関係の自動解決
- 利益計算:
売上 - コスト - 利益率:
(利益 / 売上) × 100 - 損益分岐点:
固定費 / 貢献利益
- 環境変数の設定
DATABASE_URL="postgresql://username:password@host:port/database"
JWT_SECRET="your-production-jwt-secret"
NEXTAUTH_URL="https://your-domain.com"
NEXTAUTH_SECRET="your-nextauth-secret"- データベースマイグレーション
npm run db:migrate- アプリケーションのビルド
npm run build
npm startこのプロジェクトはMITライセンスの下で公開されています。
問題や質問がある場合は、GitHubのIssuesページで報告してください。