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。 以下为已保存的摘录。
This is the real, working backend for Midnight Loadboard: carrier verification signup, load posting,
load claiming, and the coverage attestation safety system we designed. Your existing marketing site
(built in GoDaddy Website Builder) stays as-is — its buttons will link out to this app.查看完整 README ↗This is the real, working backend for Midnight Loadboard: carrier verification signup, load posting, load claiming, and the coverage attestation safety system we designed. Your existing marketing site (built in GoDaddy Website Builder) stays as-is — its buttons will link out to this app.
supabase-schema.sql from this folder, copy all of it, paste it into the SQL editor, and click Run.
This creates all your tables (carriers, loads, coverage_attestations, coverage_flags).NEXT_PUBLIC_SUPABASE_URLSUPABASE_SERVICE_ROLE_KEY.env.local.example to a new file named .env.localADMIN_PASSWORD=pick-a-password-only-you-know — this protects your new admin dashboardnpm install
npm run dev
Open http://localhost:3000 — try submitting the Get Verified form and Post a Load form, check that the data shows up in your Supabase project (Table Editor tab).
Important: New carrier signups default to verified_status = 'pending'. To approve them, go to
/admin, log in with your ADMIN_PASSWORD, and you'll land on a review screen (/admin/carriers)
listing every carrier with links to their submitted CDL, insurance, and authority documents, plus their
flag counts. Click Approve or Revoke there — no need to touch Supabase directly for this.
.env.local.midnight-loadboard-app.vercel.app).On your existing GoDaddy Website Builder pages, change the button links:
https://your-vercel-url.vercel.app/get-verifiedhttps://your-vercel-url.vercel.app/post-loadhttps://your-vercel-url.vercel.app/loadsGoDaddy Website Builder lets you edit a button's link URL directly in its editor — no code needed there.
Just run supabase-schema.sql — it already includes every table, including carrier_ratings and the
insurance_alert_sent_at column.
Your Supabase project has the original tables already, so don't re-run supabase-schema.sql (it'll
error on tables that already exist). Instead, run supabase-migration-ratings-and-alerts.sql once —
same steps: SQL Editor > New Query > paste > Run. It only adds what's new: the carrier_ratings table
and the insurance_alert_sent_at column on carriers.
You'll also want to add these new environment variables (same two places as before — .env.local and
your Vercel project settings):
RESEND_API_KEY / RESEND_FROM_EMAIL — powers email delivery of the driver confirmation link when a
driver only has an email on file (no phone). Free account at resend.com.CRON_SECRET — any long random string. Set it in Vercel's project settings and Vercel will
automatically use it to authenticate the daily insurance-expiration check (see vercel.json) —
nothing else to configure.Both lead-capture forms (/dispatch/contact for Steady Wake, /nightwatch for
broker early access) can tell you which link someone clicked, if you tag the
link when you post it: add ?src=<whatever-you-want> to the end.
Example: sharing the dispatch link in the "Small Fleet Owners" Facebook group?
Post midnightloadboard.com/dispatch?src=small-fleet-owners-fb instead of the
bare link. When someone fills out the form, the admin panel
(/admin/dispatch-leads or /admin/nightwatch-leads) will show
"from: small-fleet-owners-fb" on their entry. Run
supabase-migration-lead-source-tracking.sql once (SQL Editor > New Query >
paste > Run) if you haven't already — it adds the source column both forms
write to.
No tag on the link just means the "from:" line is left off — nothing breaks.
Carriers can now share their documents with one specific broker via a private
link instead of emailing a PDF — from /my-documents, enter who it's for
("Coyote Point Brokerage") and click "Create link". The link shows only that
carrier's verification status and documents (never anyone else's), and every
time it's opened, the carrier sees exactly when and how many times — right on
their /my-documents page. Links auto-expire after 30 days, or the carrier
can turn one off early.
Run supabase-migration-document-shares.sql once (SQL Editor > New Query >
paste > Run) if you haven't already — it creates the document_shares table
this feature uses.
(This is the idea from the "NightHaul" concept — proving something's true without handing over the whole document — built with a plain database and a random link token. No blockchain or cryptocurrency involved.)
carrier_secret (issued at signup) alongside the public Carrier ID before claiming a load or updating anything - closes the impersonation gap without a full account system. Self-service re-verification is live at /reverify/[id]: carriers can resubmit updated docs themselves using that same secret, the daily insurance-expiration cron now actually pauses lapsed carriers to pending_reverification and emails them the link, and admins have a manual "Request Re-verification" button plus a copyable reverify link per carrier. Flag escalation (/admin/flags, resolve/escalate) was also already fully built in an earlier session.supabase-schema.sql — full database structure (fresh installs)supabase-migration-ratings-and-alerts.sql — incremental migration (existing installs)vercel.json — the daily insurance-expiration cron scheduleapp/api/loads/[id]/claim/route.js — the core claim + attestation trigger logic (SMS/email dispatch)app/api/attestations/[token]/route.js — where "neither" creates a flag and puts a load on holdapp/api/cron/insurance-alerts/route.js — the daily insurance-expiration warning jobapp/api/loads/[id]/rate/route.js — carrier rating submission