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。 以下為已儲存的摘錄。
TENPO ONE — 店舗運営を、ひとつに。 飲食店の予約・POS・会計(仕訳・帳簿・財務諸表)・レジ締め・小口現金・請求書・仕入/在庫・原価・ 勤怠・従業員台帳・有給・給与試算・顧客管理(CRM)・QRオーダー・キッチンディスプレイ(KDS)・ レポートを、ひとつのデータベースとひとつの操作画面に統合したマルチテナント型クラウドSaaS。 freee・KING OF TIME等の外部会計・勤怠SaaSを必須とせず、外部SaaS不要の完全統合で業務が 完結する構成を目指す(docs/native-accounting.md / docs/native-payroll.md)。 One Platform. Every Store. — 運営: 株式会社サイプレス 機能はすべて組織単位の機能フラグ(lib/features.ts)でON/OFF可能。運営コンソールで管理する。 詳細は docs/architecture.md を参照。 1. Supabase でプロジェクトを作成 2. SQL Editor(または supabase db push)で supabase/migrations/ を番号順に実行 (00001_schema.sql 〜 `00014_realti檢視完整 README ↗
飲食店の予約・POS・会計(仕訳・帳簿・財務諸表)・レジ締め・小口現金・請求書・仕入/在庫・原価・
勤怠・従業員台帳・有給・給与試算・顧客管理(CRM)・QRオーダー・キッチンディスプレイ(KDS)・
レポートを、ひとつのデータベースとひとつの操作画面に統合したマルチテナント型クラウドSaaS。
freee・KING OF TIME等の外部会計・勤怠SaaSを必須とせず、外部SaaS不要の完全統合で業務が
完結する構成を目指す(docs/native-accounting.md / docs/native-payroll.md)。
One Platform. Every Store. — 運営: 株式会社サイプレス
| 機能 | 概要 |
|---|---|
| 予約管理 | 公開予約ページ(匿名RPC)・予約台帳・キャンセル待ち・貸切対応。docs/reservation-flow.md |
| POS・会計 | 注文入力・複数支払方法併用会計・伝票分割/統合・返金。docs/pos-flow.md |
| QRオーダー | テーブル別トークンでの匿名セルフオーダー、オプション対応。docs/qr-order.md |
| KDS | 厨房ディスプレイ、ステーション別振り分け、経過時間警告。docs/kds.md |
| 顧客管理(CRM) | 来店・売上集計、セグメント分類、RFM/LTV算出 |
| 仕入・在庫 | 発注→入荷(単位変換・加重平均原価)→レシピ連動販売減算→棚卸。docs/inventory-flow.md |
| レシピ・原価管理 | メニュー原価・原価率・粗利、仕入単価変更の影響シミュレーション |
| 会計(経理) | 請求書ワークフロー・経費・小口現金・レジ締め |
| 会計(仕訳・帳簿・財務諸表) | 複式簿記の仕訳(借方=貸方をDB RPCで強制)・自動仕訳(POS/仕入/経費/給与連動)・月次締め・試算表/損益計算書/貸借対照表の集計。docs/native-accounting.md / docs/accounting-flow.md(法令適合の自動保証は対象外) |
| 従業員台帳・有給 | 従業員台帳(雇用区分・所属店舗・銀行情報)・有給休暇の付与/取得管理・年末調整ワークフロー。docs/native-payroll.md(法定の付与日数・税額計算は対象外) |
| 勤怠・シフト | 打刻(本人/PIN/管理者代理)・シフト管理 |
| 給与・歩合 | 勤怠集計→期間別ルール解決→段階式歩合→試算プレビュー→承認→仕訳連動。docs/payroll-flow.md / docs/payroll-flow-v2.md(法定計算は対象外) |
| レポート・分析 | 期間/店舗/軸別レポート、CSVエクスポート |
| 決済 | Stripe抽象化レイヤー(POS対面決済+予約事前決済)。テストモード。docs/payment-stripe.md |
機能はすべて組織単位の機能フラグ(lib/features.ts)でON/OFF可能。運営コンソールで管理する。
| 領域 | 技術 |
|---|---|
| フロントエンド | Next.js 16 (App Router) / TypeScript / Tailwind CSS v4 |
| UI | 自作UIキット(components/ui)/ lucide-react / Recharts |
| バックエンド | Supabase (PostgreSQL / Auth / Storage / Realtime / RLS) |
| フォーム・検証 | React Hook Form / Zod |
| 決済 | Stripe(stripe SDK) |
| テスト | Vitest(単体)/ Playwright(E2E・要環境) |
| デプロイ | Vercel |
詳細は docs/architecture.md を参照。
npm install
supabase db push)で supabase/migrations/ を番号順に実行
(00001_schema.sql 〜 00014_realtime_indexes.sql の14本。各ファイルの要約は
docs/database.md の「Migration一覧」を参照)cp .env.example .env.local
| 変数 | 用途 |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | SupabaseプロジェクトURL(公開可) |
NEXT_PUBLIC_SUPABASE_ANON_KEY | anonキー(公開可・RLSで保護) |
SUPABASE_SERVICE_ROLE_KEY | サーバー専用。スタッフ招待・PIN打刻照合・運営コンソールで使用。クライアントへ渡さない |
SUPABASE_URL | seedスクリプト用(NEXT_PUBLIC_SUPABASE_URLと同値でよい) |
NEXT_PUBLIC_SITE_URL | 本番URL。未設定時は robots noindex(プレビュー誤インデックス防止) |
DEMO_PASSWORD | seedのデモアカウント初期パスワード(省略時 TenpoOne-Demo1!) |
STRIPE_SECRET_KEY | Stripeシークレット(決済機能を使う場合のみ。テストモードキーから開始) |
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY | Stripe公開可能キー(決済機能を使う場合のみ) |
STRIPE_WEBHOOK_SECRET | Webhook署名検証用(決済機能を使う場合のみ) |
実際の値(秘密鍵等)は本READMEには記載しない。.env.example を参照し、各自のSupabase/Stripe
プロジェクトから取得すること。
node scripts/seed.mjs
投入内容: デモ企業「株式会社TENPO ONE DEMO」/ 渋谷・新宿・横浜の3店舗 / スタッフ11名 / テーブル・営業時間・メニュー20品+コース2 / 顧客24名 / 過去30日の注文・会計・レジ締め / 今後の予約15件 / 勤怠14日分 / 給与・歩合ルール / 仕入先・請求書 / 小口現金 / 在庫。
デモアカウント(パスワード共通: TenpoOne-Demo1!)
| メール | ロール |
|---|---|
| [email protected] | 契約企業オーナー |
| [email protected] | 本社管理者 |
| [email protected] | 本社経理担当 |
| [email protected] | エリアマネージャー(渋谷・新宿) |
| [email protected] | 店長(渋谷) |
| [email protected] | 一般スタッフ(渋谷) |
| [email protected] | アルバイト(渋谷) |
| [email protected] | 外部税理士・会計担当 |
CYPRESS運営管理者は Supabase 上で対象ユーザーの profiles.is_cypress_admin を true に更新して作成する
(UIからの昇格経路は無い)。ロール一覧・権限詳細は docs/user-roles.md / docs/permissions.md。
npm run dev
restaurant_tables.qr_tokenを確認): http://localhost:3000/order/tenpoone-shibuya/[token]npm run typecheck # TypeScript型チェック
npm run lint # ESLint
npm run test # Vitest単体テスト(金額・税・予約枠・給与歩合・原価・単位変換・CRM・権限・決済)
npm run test:watch # Vitest watchモード
npm run build # 本番ビルド
E2E(Playwright、Supabase環境+seed投入が前提。e2e/README.md参照):
npx playwright install chromium
npx playwright test
業務フロー・テナント分離の統合検証(実データ、docs/tenant-isolation.md参照):
node --env-file=.env.local scripts/verify-flow.mjs
Stripeテストモードの疎通検証(STRIPE_SECRET_KEY設定後):
node --env-file=.env.local scripts/verify-stripe.mjs
app/
(public)/ # LP・料金・法務・公開予約(/book, /booking)
(auth)/ # ログイン・パスワード再設定
app/ # 業務画面(サイドバー+店舗切替、requireSession必須)
admin/ # CYPRESS運営コンソール(requireCypressAdmin必須)
order/[storeSlug]/[tableToken]/ # QRオーダー(匿名・トークン制)
api/webhooks/stripe/ # 唯一の app/api ルート(Stripe Webhook)
components/
ui/ # UIキット / layout/ シェル / kitchen/ KDS / qr-order/ 客側UI / <feature>/ 機能別
lib/ # brand・auth・permissions・features・payments・ドメインロジック(純関数)
supabase/
migrations/ # スキーマ・関数・RLS(00001〜00014、唯一の正式なDB定義)
scripts/ # seed.mjs / verify-flow.mjs / verify-stripe.mjs
docs/ # 設計資料(下記索引)
tests/ # Vitest
e2e/ # Playwright(Supabase環境接続時に実行)
docs/architecture.md — 技術スタック・レイヤー構成・データ連動の中核・Realtime・機能フラグ・決済抽象化docs/database.md — Migration一覧(00001〜00014)・テーブル群・命名規約・インデックスdocs/permissions.md — 10ロール×権限マトリクス・requireFeatureとの関係docs/tenant-isolation.md — マルチテナント分離の実装(RLSヘルパー関数・検証方法)docs/legal-rule-versioning.md — 消費税率・法定ルールのバージョン管理設計(/admin/legal-rules・cypress専任管理)docs/pos-flow.md — 注文〜会計〜連動更新〜分割/統合/返金docs/reservation-flow.md — 公開予約RPC〜台帳〜ステータス遷移〜貸切〜キャンセル待ちdocs/inventory-flow.md — 仕入→発注→入荷→販売→棚卸→原価docs/payroll-flow.md — 勤怠→集計→給与ルール→歩合→プレビュー→承認(v1)docs/payroll-flow-v2.md — 勤怠確定→期間別ルール解決→プレビュー→承認→確定ロック→仕訳連動→明細閲覧docs/native-accounting.md — ネイティブ会計の設計(勘定科目・仕訳・自動仕訳・月次締め・帳簿/財務諸表・固定資産・証憑連携)docs/accounting-flow.md — 業務(POS/仕入/経費/給与/銀行)→会計仕訳の連動図と冪等性docs/native-payroll.md — ネイティブ労務の設計(従業員台帳・有給・社保構造・年末調整ワークフロー)docs/qr-order.md — QRオーダーのトークン設計・匿名RPC・レート制限docs/kds.md — キッチンディスプレイのステーション・状態遷移・警告しきい値docs/production-checklist.md — 本番公開前チェックリストdocs/operations.md — 日常運用(seed・verify-flow・企業作成・機能フラグ・サポートアクセス)docs/known-limitations.md — 既知の制限docs/future-integrations.md — 外部連携の状態表(Stripeは基盤実装済み・本番未接続、他は未実装)docs/external-blockers.md — 外部依存ブロッカー registry(必須Blocker / Optional Integration・Migrationを区別)docs/deployment.md — Vercel+Supabaseデプロイ手順docs/payment-stripe.md — Stripe決済の詳細設計docs/product-requirements.md / docs/business-flows.md / docs/information-architecture.md /
docs/security-design.md / docs/user-roles.md / docs/mvp-scope.md / docs/open-questions.md /
docs/implementation-plan.mdfinalize_order() が売上・現金・顧客履歴・在庫(商品直結+
レシピ連動)・スタッフ実績・予約状態をトランザクションで一括更新する(docs/architecture.md)docs/tenant-isolation.md)lib/permissions.ts に
単一定義し、UI・Server Action・RLSの3層で適用(docs/permissions.md)audit_logs に記録。
決済済み取引は物理削除不可(DBトリガー)docs/future-integrations.md)。給与は「試算」と明示(docs/payroll-flow.md)legal_rule_versions /
consumption_tax_rates で版数管理し、コードにハードコードしない。専門家レビュー前の値は
投入せず、状態draft/reviewed/active/supersededで計算エンジンからの参照可否を制御する
(/admin/legal-rules・cypress専任・docs/legal-rule-versioning.md)未確定の仕様と仮定は docs/open-questions.md に記録している。
payment_provider 抽象化レイヤー(lib/payments/)の第一対応プロバイダーとしてStripeを実装。
設計・Dashboard設定・実機導入手順は docs/payment-stripe.md、現在の対応範囲は
docs/future-integrations.md を参照(本番接続は未実施)。
/api/webhooks/stripe(署名検証+イベントID冪等化)STRIPE_SECRET_KEY はサーバー専用(テストキーから開始)