Synaplan
기업을 위한 오픈소스 AI 플랫폼
채팅이나 Excel로 영국→EU 팔레트 배송을 예약하고 출발 전 오류를 잡아냅니다. 데모이며 운송사는 연결되지 않습니다
Book UK → EU pallet shipments by chat or Excel and catch mistakes before they leave. A booking-preparation demo; no carrier is contacted.
비즈니스GitHub @saisiddharthnandhakumar온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
Conversational shipment booking & pre-flight error checker (Next.js, Neon, Gemini)
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗This is a booking-preparation and pre-flight checking demo. It does not book carriers, schedule pickups, contact anyone, or give customs / dangerous-goods compliance guarantees. A "ready to submit" booking is a prepared draft that the seller submits to a carrier themselves.
UK sellers shipping pallets to Germany, France or the Netherlands (GBP) can:
Bookings and Items sheets (the case template) and get every
booking checked against the ten-rule rulebook, with the exact reason and fix for each failure.Both modes share one deterministic engine: R-01 … R-10 with Red/Amber severity, carrier eligibility by route and kg/pallet, priority ranking (Cheapest / Fastest / Most reliable / Balanced), status, dates and next steps. Gemini is used only to turn a chat message into typed patch operations — never for arithmetic, rule verdicts, carrier choice or dates.
/chat/[bookingId], delete with confirmation, mobile drawer.Next.js 16.4 (App Router, Node runtime) · React 19.3 · TypeScript 5.9 (strict) · Tailwind CSS 4.3 ·
Zod 4.6 · ExcelJS 4.4 · @google/genai 2.31 (default model gemini-3.5-flash) · Drizzle ORM 0.45 +
Drizzle Kit 0.31 · pg 8.23 + @vercel/functions attachDatabasePool · Neon PostgreSQL 17 ·
Vitest 5 · Playwright 1.64. UI components are hand-built on native <dialog> (accessible modal/drawer)
following DESIGN.md.
npm install
cp .env.example .env.local # then fill in DATABASE_URL, DATABASE_URL_UNPOOLED, GEMINI_API_KEY
npm run db:migrate && npm run db:seed && npm run db:verify
npm run dev
Open http://localhost:3000. Without GEMINI_API_KEY, chat returns a clear "AI unavailable" message and the
Edit booking form still works; Excel upload never needs AI.
NEXT_PUBLIC_)| Name | Used for |
|---|---|
DATABASE_URL | Neon pooled connection string (app runtime) |
DATABASE_URL_UNPOOLED | Neon direct connection string (migrations and seeds only) |
GEMINI_API_KEY | Gemini API key (chat extraction only) |
GEMINI_MODEL | Optional; default gemini-3.5-flash (verified 2026-10-25; gemini-2.5-flash is closed to new API users) |
GEMINI_THINKING | Optional; low (default), minimal or medium model thinking for extraction |
SESSION_TTL_DAYS | Optional; anonymous session lifetime, default 7 |
SHIPMENTOS_FAKE_AI | Tests only: 1 swaps Gemini for a deterministic extractor. Ignored on Vercel. |
| Script | What it does |
|---|---|
npm run lint / npm run typecheck | ESLint; route typegen + tsc --noEmit (strict) |
npm run test | Vitest unit + integration (integration uses the Neon dev branch from .env.local) |
npm run test:e2e | Playwright against next start (run npm run build first) |
npm run build | Production build |
npm run db:generate | Generate a new versioned migration from lib/db/schema.ts |
npm run db:migrate | Apply committed migrations in drizzle/ over the direct URL |
npm run db:seed | Idempotently seed the 9 carrier options and 10 rule definitions, then verify parity |
npm run db:verify | Print seeded reference rows and check them against the checked-in fixture |
npm run fixtures | Regenerate the synthetic test workbooks in tests/fixtures/ |
RUN_LIVE_AI=1 npx vitest run tests/integration/gemini-live.test.ts | Opt-in test against the real Gemini API |
npx tsx --conditions=react-server scripts/eval-extractor.ts | Prints the real model's patches for the demo phrases |
Dedicated project shipmentos (curly-feather-54563708, AWS us-east-1, Postgres 17):
| Branch | Use |
|---|---|
production (default) | Production app only. Migrations/seeds run explicitly with npm run db:migrate / db:seed using the production direct URL; only safe smoke tests touch it. |
dev | Local development and all automated tests (destructive fixtures allowed). |
Migrations are never run automatically at runtime. Schema details: docs/DB_SCHEMA.md.
gh CLI
(scopes repo, workflow) created the public repo and every push.dev branch and issued connection strings.docs/DEPLOYMENT.md).docs/PRD.md · docs/ASSUMPTIONS.md (every inferred decision, with its source) · docs/TEST_MATRIX.md ·
docs/DB_SCHEMA.md · docs/DEPLOYMENT.md · DESIGN.md (design system)