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。 以下为已保存的摘录。
備品・消耗品の在庫を管理する小規模チーム向けの在庫管理アプリ(PoC / ポートフォリオ)。 品目マスタの管理、入出庫・棚卸調整、発注点による低在庫アラート、品目ごとの履歴を提供します。 汎用サンプルとして一から実装したものです。特定企業のデータ・資産・社内システムには依存しません。 https://inventory-portfolio-one.vercel.app で公開しています。「小規模チームで共有する台帳」という 設計のため、Googleログインさえすれば誰でも全品目を編集・削除できます(所有者の概念なし)。 訪問者ごとの分離もありません。デモ用途のため予告なくデータをリセットする場合があります。 プライバシーポリシー / 利用規約 • items/{id} … 品目: name, sku, category, quantity, minQuantity, unit, location, updatedAt • movements/{id} … 入出庫履歴: itemId, type(in|out|adjust), delta, resultingQuantity, reason, userId, userName, createdAt查看完整 README ↗
備品・消耗品の在庫を管理する小規模チーム向けの在庫管理アプリ(PoC / ポートフォリオ)。 品目マスタの管理、入出庫・棚卸調整、発注点による低在庫アラート、品目ごとの履歴を提供します。
汎用サンプルとして一から実装したものです。特定企業のデータ・資産・社内システムには依存しません。
https://inventory-portfolio-one.vercel.app で公開しています。「小規模チームで共有する台帳」という 設計のため、Googleログインさえすれば誰でも全品目を編集・削除できます(所有者の概念なし)。 訪問者ごとの分離もありません。デモ用途のため予告なくデータをリセットする場合があります。
| 領域 | 採用 | 理由 |
|---|---|---|
| フロント | Next.js 16 (App Router / TypeScript) | 型安全・App Routerで見通しの良い構成 |
| スタイル | Tailwind CSS | 一覧・モーダルUIを素早く一貫したデザインで実装 |
| 認証 | Firebase Authentication | Googleログインを最小実装で導入 |
| DB | Cloud Firestore | トランザクションで在庫と履歴の整合を担保 |
| テスト | Vitest | 在庫計算・低在庫判定ロジックのユニットテスト |
flowchart LR
U[ブラウザ / Next.js] -->|Google Sign-In| A[Firebase Auth]
U -->|品目CRUD / 入出庫| F[(Cloud Firestore)]
U -.->|トランザクション| TX[items.quantity + movements を原子的に更新]
TX --> F
S[seed スクリプト<br/>firebase-admin] -->|items 投入| F
items/{id} … 品目: name, sku, category, quantity, minQuantity, unit, location, updatedAtmovements/{id} … 入出庫履歴: itemId, type(in|out|adjust), delta, resultingQuantity, reason, userId, userName, createdAt在庫増減と低在庫判定は UI/DB に依存しない純関数(lib/stock.ts)に切り出し、
lib/__tests__/stock.test.ts でカバーしています。在庫数の更新は Firestore トランザクション
(lib/inventory.ts の applyStockMovement)で、数量更新と履歴追加を原子的に行います。
npm install
cp .env.local.example .env.local
# .env.local に Firebase の設定値を入力
firestore.rules の内容を Firebase Console の Firestore → ルール に貼り付けて公開。
サービスアカウント鍵(プロジェクトの設定 → サービスアカウント → 新しい秘密鍵)を
serviceAccountKey.json として保存(コミット禁止・.gitignore済み)。
GOOGLE_APPLICATION_CREDENTIALS=./serviceAccountKey.json npm run seed
npm run dev # http://localhost:3000
npm test # 在庫ロジックのテスト
npm run build # 本番ビルド
Firebase Hosting か Vercel にデプロイ可能。環境変数(NEXT_PUBLIC_FIREBASE_*)を
デプロイ先に設定すればそのまま動作します。
MIT