VNOS / PRODUCT & ENGINEERING PORTALGitHub Repository ↗
یک زیرساخت، شبکه‌های ارزش نامحدود

VNOS Value Network
Operating System

سیستم‌عامل پویای شبکه‌های ارزش بین‌سازمانی؛ بستری برای طراحی، راه‌اندازی و مدیریت زنجیره‌های تولید، تجارت، لجستیک، مالکیت، تعهدات و تسویه در صنایع مختلف، بدون وابستگی هسته به یک صنعت یا بازیگر مشخص.

HEADLESSAPI-FIRSTMETADATA-DRIVENCONFIGURATION-FIRSTEVENT-DRIVENSOURCE-AGNOSTIC
01 / NON-NEGOTIABLE

قانون اساسی معماری

این اصول بر تمام تصمیم‌های محصول و توسعه اولویت دارند.

هیچ فیچری صرفاً با کارکرد ظاهری کامل نیست. اجرای بدون UI، پیکربندی‌پذیری، استقلال از صنعت و قابلیت بازاستفاده باید در معیار پذیرش و تست آن اثبات شود.

Headless by Design

هیچ منطق دامنه‌ای وابسته به فرم، صفحه، مرورگر یا پنل ادمین نیست.

API-First Contracts

تمام قابلیت‌ها ابتدا قرارداد API، مجوز، اعتبارسنجی و تست مستقل دارند.

Metadata & Schema Engine

مدل، فیلد، رابطه، قواعد و فرم‌ها از طریق کنترل‌پلین مدیریت می‌شوند؛ تغییر فیزیکی SQL فقط از مسیر کنترل‌شده مهاجرت.

Configuration over Hardcoding

نرخ‌ها، شرکا، روابط، قیمت‌گذاری، نقش‌ها و گردش‌کار در هسته هاردکد نمی‌شوند.

Pluggable & Modular

اسلات‌ها و قراردادهای توسعه مشخص هستند؛ افزونه‌ها نباید مرزهای دامنه را دور بزنند.

Auditable & Source-Agnostic

ورود دستی و API از قواعد یکسان عبور می‌کنند و منشأ هر داده، اصلاح و رویداد ثبت می‌شود.

02 / REUSABLE ENGINES

هر بخش VNOS دقیقاً چه کاری انجام می‌دهد؟

VNOS مثل یک مجموعه ابزار هماهنگ است. هر ماژول یک مسئولیت مشخص دارد و با بقیه همکاری می‌کند. برای فهم ساده‌تر، تمام ۱۸ ماژول را در سه دسته توضیح داده‌ایم؛ همراه با یک مثال واقعی از زنجیره آرد ورامین، سمیرا و افق کوروش.

این‌ها اجزای طراحی‌شده برای پلتفرم هستند، نه قابلیت‌هایی که لزوماً هم‌اکنون پیاده‌سازی و فعال شده باشند. نام انگلیسی پایین هر کارت، اصطلاح مرجع تیم فنی است.

۱. راه‌اندازی و مدیریت پلتفرم

این بخش‌ها تعیین می‌کنند چه شرکت‌هایی در شبکه حضور دارند، چه کسانی اجازه کار دارند و سامانه چطور بدون کدنویسی مجدد برای هر صنعت تنظیم شود.

01

مدیریت شرکت‌ها و شبکه همکاری

شرکت‌ها، شعبه‌ها و اعضای هر شبکه را ثبت و از هم جدا می‌کند.

مثلاً در پروژه ما:

آرد ورامین، سمیرا و افق کوروش هر کدام محیط، کاربران و اطلاعات مجاز خودشان را دارند.

Tenant & Organization
02

مدیریت کاربران و سطح دسترسی

مشخص می‌کند هر فرد چه چیزهایی را می‌تواند ببیند، ثبت کند یا تأیید کند.

مثلاً در پروژه ما:

مسئول انبار سمیرا موجودی خود را می‌بیند، اما اجازه تغییر قراردادهای افق را ندارد.

Identity / RBAC / ABAC
03

ساخت فرم‌ها و اطلاعات دلخواه

امکان تعریف فیلد، فرم و نوع اطلاعات جدید را بدون تغییر کد هر صفحه فراهم می‌کند.

مثلاً در پروژه ما:

برای گندم فیلد «درصد رطوبت» تعریف می‌شود و برای صنعت دیگری فیلد متفاوت.

Metadata Studio
04

ساختاردهی و نگهداری داده‌ها

ساختار ذخیره اطلاعات و ارتباط آن‌ها را به‌شکل کنترل‌شده مدیریت می‌کند.

مثلاً در پروژه ما:

هر محموله گندم به تأمین‌کننده، رسید انبار و نتیجه آزمایش خودش وصل می‌شود.

Schema & Data Models
05

موتور اجرای سرویس‌ها

همان کارهای سامانه را در اختیار سایت، اپلیکیشن و نرم‌افزارهای دیگر قرار می‌دهد.

مثلاً در پروژه ما:

ثبت رسید انبار هم از پنل انجام می‌شود و هم از نرم‌افزار انبارداری شرکت.

API Runtime

۲. هماهنگی عملیات و همکاری شرکت‌ها

این موتورها کارهای روزمره بین چند سازمان را از تعریف توافق تا انجام و ثبت عملیات به هم وصل می‌کنند.

01

مدیریت مراحل کار و قوانین

تعیین می‌کند هر درخواست از چه مراحلی بگذرد و در چه شرایطی تأیید یا رد شود.

مثلاً در پروژه ما:

محموله‌ای که کیفیتش خارج از حد مجاز است، برای بررسی مسئول کنترل کیفیت ارسال می‌شود.

Workflow & Rules
02

اتصال نرم‌افزارهای مختلف

داده‌های سیستم‌های متفاوت را دریافت و به زبان مشترک VNOS تبدیل می‌کند؛ ورود دستی هم ممکن است.

مثلاً در پروژه ما:

اطلاعات ورود گندم از ERP یا فایل اکسل دریافت می‌شود و با فیلدهای پلتفرم تطبیق می‌یابد.

Integration / Mapping
03

مدیریت قراردادها و شیوه قیمت‌گذاری

توافق‌های بین شرکت‌ها، روش محاسبه قیمت و شرایط قابل تنظیم هر قرارداد را نگه می‌دارد.

مثلاً در پروژه ما:

قیمت آرد بر اساس فرمول توافق‌شده در قرارداد سمیرا و آرد ورامین محاسبه می‌شود.

Contracts & Pricing
04

مدیریت سفارش تا تحویل

سفارش، تغییرات آن، آماده‌سازی، ارسال و تأیید تحویل را پیگیری می‌کند.

مثلاً در پروژه ما:

افق کوروش سفارش ماکارونی می‌دهد و وضعیت آماده‌سازی و تحویل را مشاهده می‌کند.

Orders & Fulfillment
05

شناسنامه و ردیابی هر محموله

ثبت می‌کند هر مقدار کالا از کجا آمده، در چه عملیات‌هایی استفاده شده و به چه محصولی تبدیل شده است.

مثلاً در پروژه ما:

می‌توان بررسی کرد یک بچ ماکارونی از کدام بچ‌های آرد تولید شده است.

Lot / Batch / Provenance
06

مدیریت تولید و تبدیل مواد

مواد مصرف‌شده، محصول تولیدشده، ضایعات و نسبت تبدیل واقعی را ثبت می‌کند.

مثلاً در پروژه ما:

از مقدار مشخصی آرد، تعداد معینی بسته ماکارونی تولید و ضایعات همان بچ ثبت می‌شود.

Transformation & BOM
07

موجودی، محل نگهداری و مالکیت

تعداد و محل کالا را پیگیری می‌کند و تفاوت «نزد چه کسی است» با «مال چه کسی است» را نشان می‌دهد.

مثلاً در پروژه ما:

ممکن است ماکارونی در انبار پخش باشد، ولی هنوز مالکیتش متعلق به تولیدکننده باشد.

Inventory / Custody / Ownership

۳. امور مالی، نظارت و ارتباطات بیرونی

این قسمت‌ها مسئول ثبت دقیق رویدادهای مالی، پیگیری پرداخت‌ها، شفافیت عملیات و اتصال اختیاری به سرویس‌های تخصصی هستند.

01

دفتر حسابداری دقیق و دوطرفه

هر رویداد مالی را با دو سمت بدهکار و بستانکار ثبت می‌کند تا حساب‌ها متوازن بمانند.

مثلاً در پروژه ما:

با ایجاد طلبِ تأییدشده از یک خریدار، بدهی و طلب طرفین در حساب‌ها ثبت می‌شود؛ نه لزوماً پرداخت پول.

Double-Entry Ledger
02

مدیریت طلب‌ها و تطبیق پرداخت

مشخص می‌کند چه کسی چقدر بدهکار است، چه مبلغی موعد پرداخت دارد و کدام پرداخت واقعاً تأیید شده.

مثلاً در پروژه ما:

طلب سمیرا از افق ثبت می‌شود و بعد از دریافت مدرک بانکی، پرداخت با طلب تطبیق می‌یابد.

Receivables & Settlements
03

اتصال به خدمات ریسک و بیمه

در صورت توافق، اطلاعات لازم را به شرکت بیمه یا ارزیاب ریسک می‌فرستد و پاسخ را ثبت می‌کند.

مثلاً در پروژه ما:

اگر محموله نیاز به بیمه داشته باشد، درخواست به سرویس بیمه طرف قرارداد ارسال می‌شود.

Risk / Insurance Adapters
04

پیام‌رسانی مطمئن بین بخش‌ها

وقتی اتفاق مهمی می‌افتد، به بخش‌های مرتبط خبر می‌دهد و پیام را برای ارسال قابل اتکا ثبت می‌کند.

مثلاً در پروژه ما:

بعد از تأیید تحویل، رویداد مربوط ثبت می‌شود تا بخش مالی طبق قرارداد آن را بررسی کند.

Event Bus / Outbox
05

تاریخچه تغییرات و پایش خطاها

نشان می‌دهد چه کسی چه چیزی را چه زمانی تغییر داده و کدام عملیات با خطا مواجه شده است.

مثلاً در پروژه ما:

مشخص است چه کسی مقدار رسید انبار را اصلاح کرده و دلیل یا نسخه قبلی چه بوده است.

Audit / Observability
06

اثبات اختیاری روی بلاکچین

در صورت نیاز، اثر انگشت دیجیتالِ اطلاعات تأییدشده را بیرون از سامانه ثبت می‌کند تا تغییر بعدی قابل تشخیص باشد.

مثلاً در پروژه ما:

اثر انگشت دیجیتال سند منشأ محموله ذخیره می‌شود؛ این کار به‌خودی‌خود سند مالکیت قانونی نیست.

Optional Blockchain Proofs
03 / FIRST INDUSTRY IMPLEMENTATION

نمونه عملیاتی: زنجیره گندم تا فروش محصول

آرد ورامین، سمیرا و افق کوروش، بازیگران یک پایلوت هستند؛ تعریف دائمی دامنه VNOS نیستند.

01تأمین و واردات گندمقرارداد، محموله، گمرک، منشأ و اسناد
02انبارش و تولید آردLot، ترکیب واقعی نهاده‌ها، بازده و ضایعات
03تولید ماکارونیBatch محصول، BOM واقعی و ارتباط چندبه‌چند مواد
04توزیع و فروشانبار، انتقال، POS، تفکیک ردیابی قطعی از استنباطی
05تعهدات و تسویهحسابداری دوبل، مطالبات و پرداخت واقعی از طریق شرکای مالی

قیمت‌ها، درصدها، مدل مالکیت و جهت آغاز سفارش، نمونه یا تصمیم باز محسوب می‌شوند؛ در هسته ثابت نیستند.

04 / SYSTEM DESIGN

تفکیک لایه کنترل و اجرا

Experience Layerمدیریتی، صنعتی، موبایل، پورتال شرکا — قابل تعویض
API Gateway & ContractsREST / OpenAPI / Authentication / Authorization / Versioning
Control PlaneMetadata · Schema · Workflow · Rule · Integration Studio
Runtime / Domain ModulesTraceability · Transformation · Inventory · Contracts · Ledger · Settlement
InfrastructureASP.NET Core · SQL Server · Outbox / RabbitMQ · Observability · Adapters

جهت‌گیری: Modular Monolith با مرزهای قابل استخراج؛ Relational-First، نه ذخیره تمام داده‌های عملیاتی در JSON.

05 / LIVING DOCUMENTATION

کتابخانه مستندات

فایل‌های Markdown در GitHub منبع اصلی نسخه‌پذیرند؛ نمایش داخل سایت در نسخه‌های بعد گسترش پیدا می‌کند.

06 / OPENAPI

API و Swagger

هنوز سرویس اجرایی منتشر نشده است.

پس از پیاده‌سازی اولین Vertical Slice، فایل OpenAPI تولیدشده از کد و صفحه Swagger UI به این پرتال اضافه می‌شود. این قسمت فعلاً جایگاه رزرو شده است، نه مستند API فرضی.

07 / DELIVERY

نقشه راه توسعه اسلایس‌به‌اسلایس

01Foundationهویت، سازمان، مجوز، نسخه‌بندی، audit
02Metadata + APIمدل، فیلد، اعتبارسنجی و داده از یک Runtime مشترک
03Source & Integrationورود دستی/API، مپینگ و provenance
04Industrial SliceLot → Transformation → Inventory → Traceability
05Commercial / Financialقرارداد، قواعد، دفتر کل و تسویه