گزارش تولید‌شده توسط Codex

معرفی کامل پروژه Transys

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

Transysنام پروژه
2014-12-07+قدیمی‌ترین شواهد
Yii 1.1.15 · PHPفناوری اصلی
فعال، قدیمیوضعیت فعلی
۰۱

نمای کلی پروژه

عنواناطلاعات
نام پروژه/سامانهTransys
تاریخ شروع پروژهتاریخ شروع دقیق در مخزن ثبت نشده؛ قدیمی‌ترین فایل‌های پروژه (index-test.php، پیکربندی protected/config) در 2014-12-07 دیده می‌شوند.
پلتفرم هدفوب‌اپلیکیشن سمت سرور، قالب واکنش‌گرا، استقرار روی Apache/PHP/MySQL
وضعیت فعلیفعال و قابل استفاده روی پشته‌ای قدیمی، با نشانه‌های نوسازی تدریجی؛ تم فعال mashaheer_v2، ساختار چندشرکتی و RBAC پیاده‌سازی شده؛ فایل‌های _OLD و ماژول‌های موازی همچنان وجود دارند.

فناوری‌ها و وابستگی‌های اصلی

PHPYii 1.1.15MySQL Apache + mod_rewriteXAMPPBootstrap 3 jQuery 1.11.1jQuery UIFont Awesome 4.x TCPDFPHPExcelnicEdit PHPUnit (Selenium-style)
۰۲

معرفی کوتاه

Transys یک سامانه تحت وب برای مدیریت عملیات سازمانی در حوزه حمل‌ونقل، سفارش‌ها، امور مالی، کارکنان، اسناد دارای تاریخ انقضا و تنظیمات سیستمی است. این سامانه چند ماژول را در یک محیط واحد ترکیب می‌کند تا کاربران بتوانند اطلاعات پایه، فرایندهای اجرایی و گزارش‌های عملیاتی را در یک بستر متمرکز مدیریت کنند.

۰۳

هدف پروژه

بر پایه کد و ساختار ماژول‌ها، این پروژه برای حل چند مسئله هم‌زمان ساخته شده است:

  • یکپارچه‌سازی اطلاعات پایه مانند شرکت‌ها، مشتریان، تامین‌کنندگان، مواد، واحدها، شهرها و بانک‌ها
  • مدیریت عملیات روزمره مانند خودروها، واچرها، پروژه‌های محل کار، مرخصی کارکنان و اسناد انقضادار
  • پوشش فرایندهای تجاری شامل سفارش خرید، سفارش فروش، سفارش‌های قدیمی، فاکتور و پیگیری پیوست‌ها
  • ثبت و کنترل عملیات مالی شامل حساب‌ها، تراکنش‌ها، دسته‌چک‌ها و چک‌های دریافتی
  • اعمال کنترل دسترسی بر اساس نقش و محدودسازی داده‌ها در بستر چندشرکتی
به‌صورت خلاصه، Transys تلاش می‌کند چند نیاز عملیاتی و اداری یک کسب‌وکار خدماتی/اجرایی را در یک سیستم داخلی واحد جمع کند.
۰۴

کاربران هدف

  • مدیران و کاربران ارشد سیستم
  • تیم‌های اداری و منابع انسانی
  • کاربران مالی و حسابداری
  • کاربران مرتبط با خرید، فروش و سفارش‌ها
  • مسئولان پیگیری اسناد و انقضاها
  • کاربرانی که باید فقط به شرکت یا ماژول مشخصی دسترسی داشته باشند
۰۵

قابلیت‌های اصلی

۵.۱ احراز هویت، نقش‌ها و دسترسی‌ها

  • ورود با نام کاربری/رمز عبور؛ نگهداری وضعیت کاربر، نقش، نام، ایمیل و شرکت فعال در نشست
  • الزام تغییر رمز عبور برای برخی کاربران؛ قفل موقت حساب پس از چند تلاش ناموفق
  • مدیریت نقش‌ها و مجوزها از طریق tbl_role_permission؛ کنترل دسترسی در سطح منو، کنترلر و اکشن

۵.۲ چندشرکتی

  • انتساب کاربر به یک یا چند شرکت؛ انتخاب خودکار یا دستی شرکت فعال
  • سوئیچ بین شرکت‌ها از رابط کاربری؛ فیلتر داده‌ها بر اساس company_id

۵.۳ داشبورد و تجربه کاربری

  • کارت‌های آماری، دسترسی سریع، هشدار اسناد در حال انقضا، فعالیت‌های مرخصی
  • نوار بالایی با اعلان‌ها و شرکت فعال؛ سایدبار آکاردئونی با وضعیت ذخیره‌شده (منوی v2)
  • فایل custom-v3.css با بارگذاری شرطی ?v=3 — نشانه یک مسیر بازطراحی اضافی، نه نسخه پایدار رسمی

۵.۴ داده‌های پایه و مرجع

کشور / استان / شهرارز، بانک، نوع تامین‌کننده منبع پلاک، دسته خودرو، برند، رنگواحد سنجش، مواد/اقلام نوع مرخصی و شغلنوع سند برای ماژول انقضا

۵.۵ مدیریت کارکنان و منابع انسانی

  • پرونده و تماس‌های کارکنان؛ ثبت مرخصی (شروع، پایان، بازگشت)
  • چاپ/PDF خروجی‌های کارکنان و مرخصی؛ هشدار بازگشت از مرخصی (امروز/فردا/دیرکرد)

۵.۶ اسناد دارای تاریخ انقضا

  • ثبت نوع سند، عنوان، تاریخ صدور/انقضا/یادآوری و پیوست؛ نمایش موارد منقضی یا نزدیک به انقضا
  • همگام‌سازی خودکار با اطلاعات کارکنان، خودروها و شرکت‌ها
  • وجود دو مسیر DocExpiry و DocumentExpiry — نشانه سابقه بازسازی و هم‌پوشانی معماری

۵.۷ عملیات و دارایی‌ها

مدیریت خودروها، واچرها، پروژه/محل کار؛ جست‌وجو، چاپ و خروجی‌گیری در برخی ماژول‌های عملیاتی.

۵.۸ تجارت و سفارش‌ها

  • مشتریان و تامین‌کنندگان؛ ماژول قدیمی‌تر Order در کنار ماژول‌های جدیدتر SalesOrder و PurchaseOrder
  • فرم‌های چندمرحله‌ای؛ اقلام با تعداد، نوع مقدار، قیمت واحد و VAT (در فروش)
  • پیوست فایل؛ گزارش‌های مبتنی بر ماده، بازه زمانی، مشتری و تامین‌کننده؛ خروجی PDF/Excel
  • ثبت ردپای تغییرات قیمت/مقدار از طریق OrderAuditTrail

۵.۹ فاکتور و اسناد مالی مرتبط

ثبت و مشاهده فاکتورها، به‌روزرسانی وضعیت، تولید PDF و Excel.

۵.۱۰ مالی

  • مدیریت حساب‌های مالی؛ تراکنش‌های دریافت، پرداخت و انتقال (نقد، حواله، چک، کیف دیجیتال)
  • پست/ثبت نهایی و ابطال تراکنش‌ها؛ کنترل موجودی برای برخی انواع حساب
  • دسته‌چک و چک‌های صادره؛ چک‌های دریافتی (واریز، وصول، برگشت، عودت)؛ صورت‌حساب با خروجی PDF/Excel

۵.۱۱ سیستم، تنظیمات و ابزارها

تنظیمات عمومی، سیاست رمز عبور/نشست، قالب تاریخ/اعداد/ارز، لوگو و امضای دیجیتال، شماره‌گذاری اسناد، پشتیبان‌گیری، تعمیر/بهینه‌سازی جداول، وارد کردن SQL، ابزار مهاجرت فایل‌ها.

۵.۱۲ پیام‌ها و یادآورها

صندوق پیام، پیام ارسالی، سطل زباله و پرچم‌گذاری؛ ماژول یادآور؛ اعلان‌ها در رابط اصلی.

۰۶

سامانه چگونه کار می‌کند

  • کاربر وارد سامانه می‌شود؛ نقش، مجوزها و شرکت فعال او تعیین یا بازیابی می‌شود.
  • منوها و صفحات فقط بر اساس مجوزهای همان کاربر نمایش داده می‌شوند.
  • در ماژول‌های شرکت‌محور، داده‌ها به شرکت فعال محدود می‌شوند.
  • کاربر از داشبورد به ماژول‌های عملیاتی، مالی، منابع انسانی، سفارش‌ها یا تنظیمات وارد می‌شود.
  • صفحات فهرست با جدول، فیلتر، صفحه‌بندی و ردیف‌های قابل کلیک نمایش داده می‌شوند.
  • در فرایندهای سنگین‌تر (سفارش خرید/فروش)، فرم‌ها چندمرحله‌ای با پیوست، قواعد اعتبار و محاسبات هستند.

بخش‌ها و صفحه‌های مهم

صفحه ورودداشبورد نمای کلی / داده‌های پایه / عملیات / تجارت / مالی / افراد / ارتباطات / سیستم فرم‌های استانداردویزارد سفارش‌هاتنظیمات

منطق کسب‌وکار مهم

  • شرکت فعال روی اغلب داده‌ها اثر می‌گذارد و از طریق CompanyScopedActiveRecord اعمال می‌شود
  • تاریخ یادآوری اسناد بر اساس نوع سند محاسبه می‌شود
  • برخی اسناد انقضا از اطلاعات کارکنان، خودرو و شرکت به‌صورت خودکار همگام می‌شوند
  • شماره سند برای برخی ماژول‌ها به‌صورت ترتیبی و با قفل‌گذاری تراکنشی تولید می‌شود
  • سفارش فروش/خرید دارای وضعیت‌های Draft، Approved، Valid، Active، Closed و Cancelled هستند
  • در تراکنش‌های مالی، اعتبارسنجی روش پرداخت/دریافت و موجودی حساب اعمال می‌شود
۰۷

داده‌ها و اطلاعاتی که سامانه مدیریت می‌کند

داده‌های ورودی کاربر
  • اطلاعات کاربران، شرکت‌ها، کارکنان، مشتریان، تامین‌کنندگان
  • اطلاعات تماس و هویتی
  • داده‌های خودرو، پروژه، واچر، مرخصی و سند
  • اطلاعات سفارش، اقلام، قیمت، شرایط پرداخت و پیوست‌ها
  • داده‌های مالی: حساب، مبلغ، مرجع تراکنش، مشخصات چک
داده‌های تولیدشده توسط سامانه
  • شماره اسناد؛ وضعیت‌ها و برچسب‌های فرایندی
  • تاریخ‌های یادآوری؛ شمارش‌ها و شاخص‌های داشبورد
  • سوابق تغییرات برخی سفارش‌ها
  • ارجاع‌های ذخیره‌سازی فایل: storage:// و db://

داده‌های ساخت‌یافته در MySQL؛ فایل‌های آپلودشده و خروجی‌ها روی دیسک یا در جدول ذخیره‌سازی فایل؛ فایل‌های پشتیبان SQL.

۰۸

حریم خصوصی و امنیت

موارد پیاده‌سازی‌شده

  • کنترل دسترسی مبتنی بر نقش و مجوز؛ محدودسازی داده‌ها در سطح شرکت فعال
  • قفل موقت حساب پس از چند تلاش ناموفق؛ الزام تغییر رمز برای برخی کاربران
  • اعتبارسنجی فایل‌های بارگذاری‌شده (نوع، اندازه، ابعاد)؛ مجوزهای ویژه برای بخش‌های حساس
نکات مهم: رمزهای عبور با ترکیب salt + md5 ذخیره می‌شوند — ضعیف‌تر از استانداردهای مدرن مانند password_hash. شواهدی از رمزنگاری داده در حالت سکون دیده نشد. اتصال محلی root بدون رمز برای محیط توسعه تعریف شده که برای محیط عملیاتی مناسب نیست. شواهد روشنی از اجبار HTTPS یا مدیریت اسرار مدرن (.env) دیده نشد.

مواردی که با اطمینان دیده نشد: رمزنگاری سراسری فایل‌های آپلودشده، لاگ ممیزی کامل برای همه ماژول‌ها، سیاست‌های حفظ یا حذف خودکار داده‌های حساس.

۰۹

بومی‌سازی و پشتیبانی زبانی

  • زبان غالب رابط کاربری انگلیسی است؛ lang="en" در قالب‌ها ثبت شده
  • چند فراخوانی محدود Yii::t() دیده می‌شود، اما پوشه ترجمه فعال یا منابع چندزبانه کامل پیدا نشد
  • شواهدی از پشتیبانی RTL در رابط اصلی دیده نشد
  • قالب تاریخ، نمایش اعداد، جداکننده‌ها و ارز از طریق تنظیمات قابل کنترل است
۱۰

رابط کاربری و تجربه کاربری

  • رابط بر پایه رندر سمت سرور و قالب‌های PHP؛ Bootstrap 3، jQuery و Font Awesome
  • تم فعال mashaheer_v2؛ داشبورد و چند صفحه مهم در ۲۰۲۶ بازطراحی شده‌اند
  • برخی صفحات از الگوی استاندارد فهرست/جزئیات استفاده می‌کنند؛ سفارش خرید/فروش رابط چندمرحله‌ای اختصاصی دارند
  • صفحه‌بندی، انتخاب تعداد ردیف، ردیف‌های قابل کلیک و آکاردئون منو فعال هستند
۱۱

خروجی، ورود، پشتیبان، بازیابی و گزارش‌ها

  • خروجی PDF برای سفارش‌ها، فاکتور، مرخصی و صورت‌حساب‌ها
  • خروجی Excel برای سفارش‌ها، فاکتور، تراکنش‌ها و صورت‌حساب حساب‌ها
  • خروجی CSV برای حداقل بخشی از ماژول واچر
  • پشتیبان‌گیری SQL از پایگاه‌داده؛ وارد کردن فایل SQL؛ تعمیر/بهینه‌سازی جداول
  • مهاجرت فایل‌ها از مسیرهای قدیمی به ساختار ذخیره‌سازی جدید، با امکان بازگردانی از طریق لاگ موقت
۱۲

خلاصه معماری فنی

معماری پروژه عمدتا MVC کلاسیک Yii 1 است:

لایهتوضیح
Controllersمنطق درخواست/پاسخ، دسترسی، فرم‌ها و جریان صفحه
Modelsمنطق داده، اعتبارسنجی، روابط و بخشی از منطق کسب‌وکار
Viewsقالب‌های PHP سمت سرور
ComponentsController، MenuHelper، UserIdentity، StorageManager

الگوهای مهم: Active Record برای دسترسی به پایگاه‌داده، Base controller برای کنترل شرکت فعال/مجوزها، Company-scoped AR برای محدودسازی خودکار داده‌ها، Helper مرکزی برای منو و RBAC.

پروژه بیشتر یک monolith کلاسیک PHP/Yii است و لایه سرویس مستقل به سبک معماری‌های جدید در آن غالب نیست؛ بخش زیادی از منطق کسب‌وکار در کنترلرها و مدل‌ها قرار دارد.
۱۳

محدودیت‌ها و مواردی که عمدا پوشش داده نشده‌اند

  • هیچ شواهد روشنی از API عمومی یا REST رسمی در نسخه فعال دیده نشد
  • هیچ شواهدی از اپلیکیشن موبایل بومی یا کلاینت جداگانه مشاهده نشد
  • ترجمه کامل چندزبانه برای رابط کاربری دیده نشد
  • تست‌های موجود بسیار قدیمی هستند و به الگوی فعلی برنامه تکیه ندارند
  • وابستگی‌ها با Composer یا npm مدیریت نمی‌شوند و عمدتا دستی داخل پروژه قرار گرفته‌اند
۱۴

قابلیت‌های تکمیل‌شده و موارد در انتظار/نیمه‌تمام

تکمیل‌شده با اطمینان بالا
  • ورود، نقش‌ها و دسترسی‌ها؛ چندشرکتی
  • داشبورد فعال؛ مدیریت کاربران؛ داده‌های پایه اصلی
  • مدیریت کارکنان و مرخصی؛ رهگیری اسناد انقضادار
  • خودرو، واچر و پروژه‌ها
  • تراکنش‌ها و حساب‌های مالی
  • سفارش خرید و فروش با فرم‌های چندمرحله‌ای
  • خروجی PDF/Excel در چند ماژول؛ پشتیبان‌گیری و ابزار نگهداری
انتقالی، قدیمی یا نیازمند احتیاط
  • فایل‌ها و کلاس‌های _OLD در چندین بخش هنوز نگهداری شده‌اند
  • هم‌زیستی OrderController قدیمی با SalesOrderController/PurchaseOrderController
  • هم‌زیستی DocExpiry و DocumentExpiry
  • فایل custom-v3.css و ?v=3 به‌تنهایی کافی برای اعلام نسخه پایدار جدید نیست
۱۵

متن معرفی عمومی مناسب انتشار

Transys یک سامانه وب یکپارچه برای مدیریت عملیات داخلی سازمان است که ماژول‌های منابع انسانی، اسناد انقضادار، امور مالی، مشتریان و تامین‌کنندگان، سفارش‌های خرید و فروش، و تنظیمات سیستمی را در یک بستر واحد کنار هم قرار می‌دهد. این سامانه برای کسب‌وکارهایی مناسب است که می‌خواهند داده‌ها و فرایندهای چند بخش مختلف را به‌صورت متمرکز، نقش‌محور و شرکت‌محور مدیریت کنند.

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

جمع‌بندی نهایی

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

در کنار این ارزش عملیاتی، پروژه هنوز ردپای معماری قدیمی، کدهای انتقالی و نیاز به نوسازی بیشتر را با خود دارد؛ بنابراین بهترین توصیف واقعی آن، یک سامانه داخلی بالغ و کاربردی با مسیر روشن برای بهبودهای آینده است.