Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
smart-yosoku — 汎用 需要予測・必要数量予測 Webサービス 過去の実績データと外部要因(曜日・天候・気温・祝日・イベント・特売・キャンペーン)から、 翌日以降に必要な数量を予測する 業種非依存 のSaaSです。 製造数・発注数・仕込み量・納品数・在庫補充・来客数・予約数・必要スタッフ数・作業件数などを 共通の枠組みで予測します。デモではなく、データ登録 → 予測算出 → 予測と実績の差の記録 → 継続改善 まで運用できることを目標に設計しています。 初期サンプルは食品製造業(豆腐店=さつま食品株式会社)です。 目次 1. 技術構成 2. セットアップ手順 3. 環境変数一覧 4. Supabase構築手順 5. マイグレーション・シード投入 6. ローカル起動・テスト 7. 予測ロジックの説明 8. データベース設計 9. 権限設計 10. CSV仕様 11. Vercelデプロイ 12. 置いた仮定・既知の制約 13. 今後の拡張案檢視完整 README ↗
過去の実績データと外部要因(曜日・天候・気温・祝日・イベント・特売・キャンペーン)から、 翌日以降に必要な数量を予測する 業種非依存 のSaaSです。 製造数・発注数・仕込み量・納品数・在庫補充・来客数・予約数・必要スタッフ数・作業件数などを 共通の枠組みで予測します。デモではなく、データ登録 → 予測算出 → 予測と実績の差の記録 → 継続改善 まで運用できることを目標に設計しています。
初期サンプルは食品製造業(豆腐店=さつま食品株式会社)です。
| 領域 | 採用 |
|---|---|
| フレームワーク | Next.js 14 (App Router) + TypeScript |
| DB / 認証 | Supabase (PostgreSQL 15 + Auth + RLS) |
| スタイル | Tailwind CSS + shadcn/ui 風の自前UIプリミティブ |
| フォーム / 検証 | React Hook Form + Zod |
| グラフ | Recharts |
| テスト | Vitest(単体・結合) / Playwright(E2E) |
| デプロイ | Vercel(フロント)/ Supabase(DB・認証) |
設計の要: 予測ロジックは UI から完全分離し src/domain/ に純粋関数として実装。
ForecastEngine インターフェースを介するため、将来 Python/FastAPI/Prophet/LightGBM へ差し替え可能。
# 1. 依存インストール
npm install
# 2. 環境変数
cp .env.example .env.local
# → NEXT_PUBLIC_SUPABASE_URL / NEXT_PUBLIC_SUPABASE_ANON_KEY を設定
# (シード投入や管理操作を行う場合は SUPABASE_SERVICE_ROLE_KEY も)
# 3. 型チェック・単体テスト(Supabaseなしで実行可能)
npm run typecheck
npm run test
# 4. 予測パイプラインのエンドツーエンド検証(Supabase不要)
npx tsx scripts/verify-pipeline.ts
# 5. 開発サーバー
npm run dev # http://localhost:3000
Supabase を設定しなくても 予測エンジン・精度計算・シード生成・E2E検証は動きます (
scripts/verify-pipeline.ts)。UI画面もサンプルデータでエンジン計算結果を表示します。
| 変数 | 必須 | 説明 |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL | ○(DB利用時) | Supabase プロジェクトURL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | ○(DB利用時) | 匿名キー(RLS適用下で使用) |
SUPABASE_SERVICE_ROLE_KEY | シード/管理時 | サービスロールキー。サーバー専用・クライアントに露出禁止 |
WEATHER_API_PROVIDER / WEATHER_API_KEY | 任意 | 天気自動取得。未設定なら手動入力にフォールバック |
HOLIDAY_API_PROVIDER / HOLIDAY_COUNTRY | 任意 | 祝日自動取得。未設定なら手動入力 |
CSV_MAX_UPLOAD_BYTES | 任意 | CSV取込みの上限バイト数(既定5MB) |
秘密情報はコードに直書きせず、必ず環境変数で管理します。
.env.local へ。supabase/migrations/ を番号順に SQL Editor へ貼り付けて実行します。
0001_schema.sql -- テーブル・型・インデックス・制約
0002_rls.sql -- RLS 有効化 + ポリシー + ヘルパー関数
0003_functions.sql -- 補助関数
シードデータ:
# Supabase 未設定: supabase/seed/seed-data.json を生成(オフライン確認用)
npm run seed
# 生成物: 拠点4 × 予測対象5 × 400日 = 8,000 実績レコード
# 夏の冷奴/冬の鍋/年末年始/お盆/雨天/台風/特売/イベント/欠品/廃棄/異常値 を含む
Supabase 接続時の投入手順は docs/setup.md を参照。
npm run dev # 開発サーバー
npm run build # 本番ビルド
npm run typecheck # tsc --noEmit
npm run lint # ESLint
npm run test # Vitest(単体・結合)
npm run test:e2e # Playwright(E2E。dev/preview サーバー要)
詳細は docs/forecast-logic.md。要点:
src/domain/math.ts)。将来 ForecastEngine 実装を Python/Prophet/LightGBM/外部AI へ差し替え可能。
詳細は docs/database.md。組織・拠点・予測対象・実績・外部要因・イベント・
予測・予測内訳・補正・予測結果・精度・欠品・変更履歴・CSV取込・通知・監査ログ・組織設定 の各テーブル。
全業務テーブルに organization_id を持ち、Supabase RLS で組織単位に完全分離。
オーナー / 管理者 / 一般担当者 / 閲覧のみ の4ロール。
判定は src/lib/permissions.ts(純粋関数・テスト済み)と RLS ポリシーの二重防御。
詳細は docs/csv-spec.md。 最低限 日付・拠点名・予測対象名・実績値 があれば取込み可能。 サンプルCSVダウンロード / 列自動判定 / 手動マッピング / 取込前プレビュー / エラー行表示 / 重複処理(新規追加・上書き・スキップ)/ 取込履歴 / ロールバック可能な設計。
NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY ほか)を Vercel に設定。
SUPABASE_SERVICE_ROLE_KEY は Preview/Production のサーバー環境のみ。next build / Framework Next.js。ForecastEngine 契約は維持)。