PythonFastAPISQLite

پیکربند آنلاین تجهیزات و کدگذاری قطعات

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

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

مسئله‌ای که حل کردیم

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

آنچه طراحی و پیاده‌سازی کردیم

پنج برگهٔ محاسباتی فایل اصلی به یک موتور محاسباتی پنج‌ماژوله بازنویسی شد. برای اطمینان از درستی، حدود ۱۲۹۷ نمونهٔ مرجع از خودِ فایل اکسل استخراج و به‌عنوان معیار سنجش در پروژه ثبت شد؛ خروجی موتور در برابر تک‌تک این نمونه‌ها بررسی می‌شود و برای موارد خاص، یک نمایهٔ جست‌وجوی نمونه‌های تأییدشده به‌عنوان پشتیبان عمل می‌کند.

رابط کاربری یک صفحهٔ واحد فارسی و راست‌به‌چپ است: کاربر مدل دستگاه را با جست‌وجوی هم‌زمان از میان ۲۷۷ مدل پیدا می‌کند، تعداد دستگاه و پیکربندی اقلام جانبی را تعیین می‌کند و در همان صفحه مشخصات فنی، نتیجهٔ محاسبات و پرسش‌های متداول را می‌بیند. خروجی نهایی، چهار خانوادهٔ کد قطعه به‌همراه پیشنهاد کابینت است و می‌توان آن را به‌صورت فرم کارگاهی با بارکد Code-39 چاپ کرد. یک بخش مدیریت هم برای ویرایش کاتالوگ محصولات در نظر گرفته شده است.

مقیاس پروژه

  • مهاجرت یک فایل اکسل مهندسی پنج‌برگه‌ای به یک برنامهٔ تحت وب
  • کاتالوگ ۲۷۷ مدلی با جست‌وجوی هم‌زمان
  • موتور محاسباتی پنج‌ماژوله، صحت‌سنجی‌شده در برابر حدود ۱۲۹۷ نمونهٔ مرجع
  • چهار خانوادهٔ کد قطعه به‌علاوهٔ پیشنهاد کابینت
  • فرم‌های کارگاهی قابل چاپ با بارکد Code-39

معماری فنی

پروژه با Python 3.13 و FastAPI و قالب‌های سمت سرور Jinja2 پیاده‌سازی شده و در سمت مرورگر از JavaScript ساده و Bootstrap RTL استفاده می‌کند — بدون فریم‌ورک سنگین و بدون مرحلهٔ ساخت. دادهٔ محصولات به‌صورت یک پایگاه دادهٔ SQLite فقط‌خواندنی از فایل‌های CSV تولید و همراه پروژه منتشر می‌شود؛ در زمان اجرا هیچ فراخوانی شبکه‌ای به بیرون انجام نمی‌شود. چون ابزار داخلی است، دسترسی با احراز هویت پایه محافظت شده و صفحه‌ها از فهرست موتورهای جست‌وجو کنار گذاشته شده‌اند.

ویژگی‌ها

آنچه این پروژه دارد.

  • جست‌وجوی هم‌زمان میان ۲۷۷ مدل دستگاه
  • پیکربندی گام‌به‌گام دستگاه و اقلام جانبی
  • نمایش زندهٔ مشخصات فنی، محاسبات و پرسش‌های متداول
  • تولید چهار خانوادهٔ کد قطعه و پیشنهاد کابینت
  • موتور محاسباتی صحت‌سنجی‌شده در برابر نمونه‌های مرجع اکسل
  • مدیریت وضعیت‌های خارج از دامنه با پیام روشن
  • چاپ فرم کارگاهی با بارکد Code-39
  • بخش مدیریت کاتالوگ محصولات
همکاری

پروژه‌ای مشابه دارید؟

شروع پروژهبازگشت به نمونه‌کارها