⚡
چالشها
مدیریت همزمان کالاهای سریالی (گوشی با IMEI) و غیرسریالی (شارژر و قاب)، پیادهسازی سیستم انبار با کد اختصاصی ۶ رقمی خودکار، سیستم پرداخت ترکیبی (نقدی + چک)، مدیریت سطوح دسترسی پویا بر اساس Role و Permission، محاسبه خودکار سهم شرکا از سود و زیان، و یکپارچهسازی با درگاههای متعدد.
💡
راهحلها
استفاده از مدل InventoryItem با شناسههای چندگانه (barcode, main_barcode, imei, serial_number)، پیادهسازی GenericForeignKey برای اتصال چکها به منابع مختلف، سیستم Role-Based Access Control پویا، محاسبه Real-time سهم شرکا بر اساس آورده فعلی، استفاده از AJAX برای ثبت سریع فروش در POS، و JWT برای API اپلیکیشن موبایل.
📚
دستاوردها
کاهش زمان فروش هر کالا به کمتر از ۳۰ ثانیه با POS، مدیریت دقیق موجودی با کد اختصاصی، پیگیری خودکار چکها با هشدار نزدیک موعد، افزایش شفافیت مالی بین شرکا، پشتیبانی از ۱۰۰۰+ کالای همزمان، و آمادهسازی API برای اپلیکیشن موبایل.
🔧
نکات فنی برجسته
استفاده از Django 6 و DRF، طراحی دیتابیس با ۱۰+ مدل پیچیده، سیستم GenericForeignKey برای چکها، محاسبه Dynamic درصد سهم شرکا، پیادهسازی Real-time Search با jQuery، استفاده از AOS برای انیمیشن، طراحی Dark/Light Mode، و Web Push Notification.
🏗️
معماری پروژه
معماری MVT جنگو با ۹ اپلیکیشن تخصصی: account (احراز هویت)، site_profile (داشبورد)، locations (مکانها)، products (محصولات)، inventory (انبار)، accounting (حسابداری)، fixed_assets (دارایی ثابت)، expenses (هزینهها)، other_incomes (درآمدها). استفاده از REST Framework برای API، SimpleJWT برای احراز هویت، و MySQL به عنوان دیتابیس اصلی.
📐
مقیاس پروژه
پروژه بزرگ با بیش از ۱۵۰ فایل، ۹ اپلیکیشن، ۲۵+ مدل دیتابیس، ۱۰۰+ ویو، ۸۰+ تمپلیت، و پشتیبانی از سطوح دسترسی پویا با Role و Permission.