ما به دنبال یک توسعهدهنده فول استک با تجربه در ساخت برنامههای وب سهبعدی تعاملی هستیم که بتواند با کنترلکنندههای منطقی قابلبرنامهریزی (PLC) از طریق پروتکلهای TCP/IP ارتباط برقرار کند. طراحی و پیادهسازی یک رابط وب سهبعدی که دادههای PLC را در زمان واقعی نمایش میدهد و امکان ارتباط دوطرفه از طریق بلوکهای داده را فراهم میکند.
سیستم بکاند دادهها را ذخیره کرده و درخواستها را مدیریت میکند و ارتباط بین اپلیکیشن وب و PLC را برقرار میسازد. شما همچنین باید یک پایگاه داده برای ذخیره و نمایش وضعیت PLC در محیط سهبعدی وب پیادهسازی کنید.
سرور پروژه بر روی سیستمعامل لینوکس خواهد بود. سیستم باید امکان ثبت لاگها را داشته باشد و یک صفحه جداگانه برای نمایش تاریخچه دادهها طی ۳۰ روز گذشته وجود داشته باشد. همچنین تمامی کدهای نوشته شده توسط فریلنسر باید تحویل داده شوند.
ویژگیهای اضافی سیستم:
در این برنامه یک سیستم نقاله (conveyor system) نمایش داده خواهد شد که وضعیت هر نقاله به صورت یک فلش مثلثی نمایش داده میشود.
تغییر رنگ فلشها:
سبز: نقاله در حال اجرا است.
خاکستری: نقاله متوقف شده است.
قرمز: خطا در نقاله وجود دارد.
با کلیک بر روی فلش نقاله که دارای خطا است، وضعیت خطا برای اپراتور نمایش داده میشود.
مسئولیتها:
توسعه و طراحی یک برنامه وب سهبعدی واکنشگرا که با PLC از طریق TCP/IP ارتباط برقرار میکند.
همکاری نزدیک با مهندس PLC (سمت کلاینت) برای مدیریت تبادل دادهها با استفاده از بلوکهای داده.
ذخیره دادههای PLC در پایگاه داده و بازیابی آنها برای نمایش وضعیت در زمان واقعی در وبسایت.
نمایش وضعیت و دادههای PLC در محیط وب سهبعدی.
پیادهسازی عملکرد ارسال و دریافت تلگرامها/پیامها بین کامپیوتر (وبسایت) و PLC.
ایجاد قابلیت ثبت لاگها برای عملیاتهای مختلف و حفظ تاریخچه دادهها به مدت ۳۰ روز.
توسعه و نگهداری از سرور لینوکس برای میزبانی برنامه و مدیریت دادهها.
اطمینان از دریافت تمامی کدهای نوشتهشده توسط توسعهدهنده در پایان پروژه.
همکاری در توسعه API و معماری پایگاه داده برای اطمینان از ارتباط بدون مشکل با PLC.
نوشتن کد تمیز، کارآمد و قابل نگهداری برای هر دو بخش فرانتاند و بکاند.
اشکالزدایی، تست و نگهداری از برنامه برای عملکرد بهینه.
مهارتهای مورد نیاز:
توسعه فرانتاند:
تسلط به فریمورکها/کتابخانههای رندر سهبعدی مانند Three.js، Babylon.js یا WebGL.
تجربه قوی در کار با JavaScript، HTML5، CSS3.
تجربه با فریمورکهای مدرن فرانتاند مانند React.js، Vue.js یا Angular.js.
توسعه بکاند:
تسلط به زبانهای برنامهنویسی سمت سرور مانند Node.js، Python یا C#.
تجربه در توسعه APIهای REST و ارتباط WebSocket.
مدیریت پایگاه داده با استفاده از SQL.