Synaplan
기업을 위한 오픈소스 AI 플랫폼
Protessera는 바로 사용할 수 있는 제조 ERP
Protessera is plug-and-play manufacturing ERP: sales, engineering, purchasing, production, quality, and accounting in one connected system. 60-day free trial, no card — no consultants required. First
비즈니스TypeScript · CSSGitHub @jmwilson92온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Protessera is plug-and-play manufacturing ERP: sales, engineering, purchasing, production, quality, and accounting in one connected system. 60-day free trial, no card — no consultants required. First year, Shop is $10/month for the first user plus $2/month for each additional user (a 10-user shop pays $28/month). Starter is $250 for the first year, Growth $500, and Business $1,000. After the first 12 months, standard prices apply: Shop $30/user/month, Starter $3,600/year, Growth $8,400/year, Bus
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Integrated manufacturing ERP for high-reliability environments (aerospace, defense, precision assembly). Built as a single cohesive Next.js 15 application with full day/night theming (navy/slate night mode, crisp white day mode), teal/amber status accents, shop-floor tablet support, and large-screen information radiators.
npm install
npm run setup # prisma generate + db push + rich seed
npm run dev # http://localhost:3000
Optional reset anytime:
npm run db:reset
docker compose up -d
# set DATABASE_URL from .env.postgres.example
# change prisma/schema.prisma datasource provider to "postgresql"
# use @prisma/adapter-pg instead of better-sqlite3 in src/lib/db.ts
npm run setup
Navigation is organized into seven domains (sidebar groups are collapsible; state persists per browser). The same structure powers the ⌘K / Ctrl+K command palette, with keyword search (e.g. "8d" → CAR, "rfq" → Quotes).
| Module | Route | Highlights |
|---|---|---|
| Command center | / | Cross-module KPIs, EVM strip, quality alerts |
| My approvals | /approvals | Manager queue: reports' PTO, timesheets, expenses |
| Production floor | /floor | Color-coded WO tiles, capacity load, sign-off % |
| Info radiators | /radiators | Large-font wall display, auto-refresh |
| Value stream | /value-stream | Supplier→Ship live flow + constraints |
| AI assistant | /ai | Carina settings; optional xAI API |
| Module | Route | Highlights |
|---|---|---|
| Quotes | /sales/quotes | Quote → SO conversion |
| Sales orders | /sales | Order entry, fulfillment planning, ship gate |
| Customers | /customers | Accounts, credit holds |
| Shipping | /shipping | Pack/ship, lot & serial trace |
| Module | Route | Highlights |
|---|---|---|
| Work orders | /work-orders | Production / prototype / task-only + travelers |
| Work instructions | /work-instructions | CM workflow Draft→Eng→CM→Released |
| Workcenters | /workcenters | Capacity and cell definitions |
| Kitting | /kitting | Kit build/complete tied to travelers |
| Planning & MRP | /planning | Forecasts, material requirements, capacity/workload |
| Module | Route | Highlights |
|---|---|---|
| Engineering | /engineering | JIRA-style board, disciplines, WBS campaigns |
| Items | /items | Item master + item cards |
| BOMs | /bom | Multi-rev, prototype banner, certify, where-used |
| Products (PLM) | /products | Product lifecycle linked to PMO |
| Config management | /cm | ECR board votes, impact analysis, doc library |
| UOM master | /uom | Units and conversions |
| Module | Route | Highlights |
|---|---|---|
| Purchasing | /purchasing | PR→PO→Receive (pass/fail→MRB), PO search |
| Receiving | /receiving | Dock travelers, partial receipts, GFP intake |
| Suppliers / ASL | /suppliers | Live scorecards (OTD, PPM, cost) |
| Inventory | /inventory | Multi-loc, ownership, quarantine, kanban |
| Virtual assets | /virtual-assets | Licenses and intangibles |
| Module | Route | Highlights |
|---|---|---|
| QA inspection | /qa | Visual / GD&T / first-article queue |
| Test center | /test-center | Test stations and results |
| Quality / NCR | /quality | Inspections, NCR trends, yield |
| MRB / CAR | /mrb | Disposition → inventory + scorecard; corrective actions |
| Gov property | /government-property | GFP/CAP, UID, DFARS checks |
| Module | Route | Highlights |
|---|---|---|
| Leadership | /leadership | Executive rollup |
| PMO | /pmo | Programs, projects, WBS, SPI/CPI, PI planning, alerts |
| Accounting | /accounting | GL, P&L, BS, TB, AR/AP, WO variance |
| HR / workforce | /hr | Role-aware: employees see their profile (reviews, goals, PTO, documents), managers see My Team (reviews, goals, approvals), HR sees administration |
| Permissions | /admin/permissions | Full view + action permission catalog; custom groups per company |
Demo identity switcher — the sidebar footer switches the signed-in demo user, so you can experience the app as an executive, HR, a people manager, or a shop-floor employee (permissions and HR views change accordingly).
Day / night mode — toggle in the header; the choice persists and is applied before first paint (no flash). Theming is done centrally in src/app/globals.css by remapping the slate + accent color ramps for html.light, so module pages don't carry per-theme classes.
flowchart TB
subgraph UI["Next.js 15 App Router"]
RSC[Server Components]
SA[Server Actions]
Client[Client charts / cmdk / AI chat]
end
subgraph Domain["Domain services"]
SC[supply-chain.ts]
WO[work-orders.ts]
BOM[bom.ts]
AI[ai.ts]
AUDIT[audit.ts]
end
subgraph Data["Prisma + SQLite / PostgreSQL"]
DB[(Protessera DB)]
end
RSC --> Domain
SA --> Domain
Domain --> AUDIT
Domain --> DB
Client --> SA
flowchart LR
PR[Purchase Request] --> PO[Purchase Order]
PO --> RCV[Receipt]
RCV --> INV[Inventory]
RCV --> INSP[Incoming Inspection]
INSP -->|PASS| AVAIL[Available stock]
INSP -->|FAIL| NCR[NCR]
NCR --> MRB[MRB Case]
MRB --> Q[Quarantine hold]
MRB --> DISP[Disposition]
DISP --> INV
DISP --> SC[Supplier Scorecard]
SC --> CAR[CAR optional]
flowchart LR
BOMR[BOM Rev] -->|PROTOTYPE| FAI[Prototype WO]
FAI --> CERT[Certify BOM]
CERT --> PROD[Production WO]
WI[Work Instruction Released] --> PROD
PROD --> STEPS[Step sign-offs]
STEPS --> FLOOR[Floor board %]
STEPS -->|FAIL test| NCR2[NCR + Hold]
PROD --> COST[Actual cost → Projects / GL]
Implemented in src/lib/services/supply-chain.ts and wired from Purchasing UI:
PARTIAL_RECEIPT / RECEIVED)RECEIPT loggedmrbCaseId setUSE_AS_IS / REWORK / SCRAP / RETURN_TO_SUPPLIER / REPAIR) releases or scraps stock and may open a CARupdateSupplierScorecard recomputes OTD (receipt vs promise), quality PPM (NCR qty / received), overall rating A–F and writes scorecard historyDRAFT / PROTOTYPE / IN_REVIEW / CERTIFIED / OBSOLETEPROTOTYPEWorkOrderStepCompletion rowsownership: GOVERNMENT (visual violet strip)src/lib/services/ai.ts)XAI_API_KEY → calls xAI Chat Completions with plant JSON context (tool-calling ready)better-sqlite3 adapter) / Docker PostgreSQLprisma/
schema.prisma # Full manufacturing domain model
seed.ts # Rich integrated demo data
src/
app/ # Routes per module + server actions
components/ # UI, layout, charts, shared
lib/
db.ts # Prisma client (SQLite adapter)
audit.ts # Audit logging
auth.ts # Demo role-based user
services/ # Supply chain, WO, BOM, AI
pdf.ts # Branded PDF helpers
utils.ts # cn, formatters, status colors, EVM
docker-compose.yml
Sales Order (required date)
→ Stock check finished goods (or Bypass stock → order full demand / full BOM)
→ allocate if available
→ else Work Order (BOM + WI digital traveler, due date schedule)
→ BOM material check
→ short (or bypass)? auto Purchase Request
→ PR multi-step approval (threshold policy) → Convert to PO
→ Receiving traveler on PO issue
→ Receive: per-line qty (partial OK) + photos + putaway location
→ partial? child traveler for remainder
→ all lines received → Close PO from receiving
→ Ready to kit → Kit order (travels with WO)
→ Kit complete → Start production → step sign-offs
→ Complete → FG to stock
→ READY_TO_SHIP (respects allowEarlyShip / shipNotBefore)
→ Shipping pull & ship (inventory + lot/serial trace)
| Route | Role in flow |
|---|---|
/sales | Create SO, plan fulfillment (optional bypass stock), ship gate |
/purchasing | PR multi-step approve → PO; keyword search all POs past/present |
/purchasing/approvals | Configure PR threshold approvers / steps |
/receiving | Dock travelers; partial receive, photos, putaway area, child remainders |
/inventory | Stock by location · lot/serial trace · quarantine |
/kitting | Create / complete kit for traveler |
/work-orders/[id] | Digital traveler, material (bypass BOM stock), kit, sign-off, complete |
/shipping | Pull queue & confirm ship |
Every step writes TraceEvent + material transactions for genealogy.
Default policy (seeded, editable at /purchasing/approvals):
PURCHASING)ACCOUNTING)ADMIN)Steps below a PR’s dollar amount are skipped. Switch DEMO_USER_ROLE to walk steps as different roles; ADMIN can always approve.
On the traveler, enter only the qty that arrived, attach dock photos, and must select a stock location. Material inspects then putaways there. Open remainder spawns a child traveler. Close PO is enabled only when every line is fully received.
SO-00002 → Plan fulfillment → WO + shortage PR → approve/convert/receive → Put away on Inventory → Kitting → start production → complete → shipASM-1000 Rev C PROTOTYPE → create Prototype WO → Certify after FAI storyPRJ-AERO-01 — SPI/CPI and linked WOsECR-00001 — cast board votes| Phase | Focus |
|---|---|
| Auth | NextAuth / Clerk / SSO; enforce RBAC matrix in auth.ts on every action |
| Jobs | Queue (BullMQ / Inngest) for scorecard recompute, email, PDF batch, MRP |
| Files | S3-compatible storage for drawings, inspection photos, traveler attachments |
| DB | PostgreSQL primary; read replicas; row-level security for multi-site |
| Realtime | WebSockets / SSE for floor & radiators instead of poll refresh |
| AI | Grok tool calling: receivePo, dispositionMrb, listOpenHolds, etc. |
| MES | Barcode/RFID scan endpoints, device auth, offline tablet sync |
| Compliance | Electronic signature 21 CFR Part 11-style, export packages for DCMA |
| Observability | OpenTelemetry, structured audit export, SIEM sink |
| Hardening | Rate limits, CSRF on actions, secrets manager, backup/DR drills |
| Command | Description |
|---|---|
npm run setup | Generate client, push schema, seed |
npm run db:reset | Wipe DB + reseed |
npm run db:studio | Prisma Studio |
npm run dev | Dev server (Turbopack) |
npm run build | Production build |
Proprietary demo / prototype — adapt for your organization.