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.
Translation pending
店舗・キャスト別のSNS素材と投稿の記録管理(社内業務用)
Translation pending
BusinessTypeScript · JavaScriptGitHub @yueitakano-starOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
B-club / KINGYO / C-girl / 焼肉En の 店舗 → キャスト → 素材 → 投稿 を記録・集計する社内業務用サイトです(日本語・スマホ優先)。 SNSへの自動投稿やAPI連携は行いません(記録専用)。 • スタック: Next.js 16 / TypeScript / Tailwind CSS 4 / PostgreSQL(本番)・PGlite(ローカル組み込みDB) • 認証: メール+パスワード(自己登録なし。管理者が発行)。店舗ごとに 管理者/編集スタッフ/閲覧のみ • 日付: 表示・カレンダーの日境界は Asia/Tokyo。日時は timestamptz、撮影日・回答日は date(架空の時刻は付けません) • 初回アクセス時に自動でマイグレーションと初期マスター(3店舗・20セット60問、seed/APP_SEED.json)が投入されます。何度実行しても重複せず、実績データは消えません(npm run db:seed でも可)。 • キャストは空で始まります。デモ用の架空データが必要な時だけ npm run seed:demo(DATABASE_URL 設定時は拒否)。 • ログイン後、/admin/users(システム管理者のみ)でスタッフを招待し、店舗ごとの権限を付与します。Read the full README ↗
B-club / KINGYO / C-girl / 焼肉En の 店舗 → キャスト → 素材 → 投稿 を記録・集計する社内業務用サイトです(日本語・スマホ優先)。 SNSへの自動投稿やAPI連携は行いません(記録専用)。
npm install
cp .env.example .env # ローカルだけなら DATABASE_URL は消す/空でOK(./.data/pglite を自動作成)
ADMIN_PASSWORD='10文字以上のパスワード' npm run create-admin -- [email protected] "管理者"
npm run build && COOKIE_SECURE=false npm start # → http://localhost:3000
# 開発: COOKIE_SECURE=false npm run dev
seed/APP_SEED.json)が投入されます。何度実行しても重複せず、実績データは消えません(npm run db:seed でも可)。npm run seed:demo(DATABASE_URL 設定時は拒否)。/admin/users(システム管理者のみ)でスタッフを招待し、店舗ごとの権限を付与します。PC・スマホで同じ記録を見るには、共有のPostgreSQLが必要です。
.env に DATABASE_URL=... と COOKIE_SECURE=true(https運用時)を設定npm run db:migrate(マイグレーション+初期マスター)→ npm run create-admin -- ...DATABASE_URL は絶対にフロントエンドやGitへ出さないでください。GitHubリポジトリを接続し、環境変数 DATABASE_URL / COOKIE_SECURE=true を設定してデプロイ。初回は上記 3 のコマンドをローカルから実行(同じ DATABASE_URL を使う)。
npm run typecheck
npm test # 集計・検算例・権限・回答進捗などのドメインテスト(32件、メモリDB)
npm run build && npm run test:e2e # 実ブラウザ(Edge)のUIテスト 23件(別DB .data/e2e を使用)
pg_dump "$DATABASE_URL" -Fc -f backup.dump / pg_restore -d "$DATABASE_URL" --clean backup.dump.data/pglite フォルダごとコピー/戻すダッシュボード → CSV出力(キャスト一覧・素材一覧・投稿履歴。数式インジェクション対策済み)も使えますBCL-PR-0001-01 形式で、店舗×種別のカウンタ(INSERT … ON CONFLICT DO UPDATE)で採番するため同時登録でも重複せず、取消しても振り直しません。(id, store_id) でDBでも禁止。保存の連打は画面側のロック+request_key の一意制約で二重登録を防ぎます。materials に、ブラウザから直接アップロードします(署名付きURL・サーバーを経由しないので大きな動画もOK)。閲覧は認証後の期限付きURL(1時間)です。SUPABASE_URL と SUPABASE_SERVICE_ROLE_KEY(Project Settings → API の service_role)を設定します。キーはサーバー専用で、Gitやブラウザに出さないでください。MAX_UPLOAD_MB の小さい方です。対応形式: JPEG/PNG/WebP/GIF/HEIC、MP4/MOV/WebM。GEMINI_API_KEY(Google AI Studio で取得。サーバー専用)を設定します。モデルは GEMINI_MODEL(既定 gemini-3.8-flash)で変更できます。