
ویرا صنعت
وب اپلیکیشن خصوصی که با اتصال به دستگاه طراحیشده توسط شرکت رایان الگوریتم و برد یخچالهای امروزی، دیتاهای موجود را مانیتور میکند و امکان تنظیم کانفیگ، تهیه گزارش و مشاهده دقیق نمودارها و لیستهای مختلف با فیلترهای متنوع را فراهم میکند.
جزئیات پروژه
- تمرکز
- خواندن لایو دیتا از دستگاه به سرور، نمایش (مانیتور) آن در سایت به صورت زنده، اعمال کانفیگها و گزارشگیری دقیق و حتی ثانیهای
- سال
- 1405
- نقش
- برنامهنویس کل پروژه نرمافزار (فرانتاند و بکاند)، طراح UI/UX
- کارفرما
- Vira Sannat
- پلتفرم
- وباپ
- مدت زمان
- 4 هفته
نمای کلی پروژه
این سایت برای تست انواع بردهای یخچالهای امروزی ساخته شده؛ حتی برای استفاده در خانه! دستگاه و کنترل ساختهشده توسط شرکت Microtech Shomal، دیتا را به صورت لایو به سرور ارسال میکند و این سایت از همان سرور دیتا را خوانده و مانیتور میکند. همچنین میتوان از طریق سایت، تنظیمات و کانفیگ دستگاه موردنظر را تغییر داد و قابلیتهای دیگری مثل لاگگیری ثانیهای با قابلیت شخصیسازی بالا را در اختیار داشت.
این پروژه یک وب اپلیکیشن است و به دلیل PWA بودن سایت، قابلیت نصب روی اکثر سیستمعاملها را دارد.
رویکرد
هر دستگاه یک شناسه دارد که با وارد کردن آن شناسه از طریق سامانه میشود به دستگاه وصل شد و دیتاها را به صورت لایو مانیتور کرد، کانفیگ و دیتا ست کرد، به صورت لحظهای لاگ گرفت و در حالتهای نموداری و لیستهای مختلف بررسی و تحلیل کرد.
لاگگیری در این سامانه نقش مؤثری دارد و قابلیت شخصیسازی زیادی به کاربر داده شده است. همچنین ایونتهای مختلفی وجود دارد که کاربر میتواند برای زمان و نحوه لاگگیری تنظیم کند.
قابلیت کاستوم کردن صفحه نمایش و چینش دلخواه به صورت ویجتهای شبیه گوشی آیفون، دو زبانه بودن سامانه و مدیریت کاربران با نقشهای مختلف، از ویژگیهای این سامانه هستند.
چالش
چالش اصلی من توی این وب اپلیکیشن، نمایش هرچه سریعتر و لایو بودن دیتاها بود.
سیستم و بکاند باید به گونهای تهیه میشد که هزاران دیتا به صورت همزمان پردازش و به صورت لایو نمایش داده شود!
برای انجام این کار از تکنولوژی SignalR استفاده کردم.
چالش بعدی هندل کردن لاگها و گزارشگیری برای هر مقداری که میآمد بود. هر دیتا امکان ثبت با حالتهای زمانی و رفتاری متفاوتی داشت و در ابعاد گسترده میتوانست فشار مضاعفی به سرور وارد کند. ولی با انجام تکنیکهایی مثل میانگینگیری بین دو نقطه از دیتا و بررسی پیکهای زمانی با توجه به مقدار، توانستم تا ۳۰٪ فشار را کاهش بدهم که نتیجه مطلوبی برای سرعت سایت به همراه داشت.