هدف نوشتن یک addon برای node.js و مستند سازی تمام مراحل کار است به نحوی که برنامه نویس دیگری که حتی با addon نویسی آشنا نیست بتواند کار را ادامه دهد.
عملکرد addon مورد نظر:
ماژول باید یک تابع به نام start داشته باشد که پس از فراخوانی باید دو Thread ایجاد کرده و در یک Thread یک فایل را از مسیر C:\test\bmp\pic.bmp باز کرده و محتویات آن را بخواند.
فایل pic.bmp حاوی یک عکس با فرمت bmp است. برنامه باید این فایل را خوانده و به فرمت jpg تبدیل کند و در پوشه C:\test\jpg یک فایل که نام آن تاریخ و زمان فعلی بعلاوه یک عدد ۶ رقمی تصادفی است ساخته و ذخیره کند.
سپس فایل pic.bmp را حذف کند و منتظر بماند تا دوباره یک فایل pic.bmp ایجاد شود. بعد از ایجاد دوباره فایل pic.bmp آن را خوانده و آن را مانند قبل تبدیل کند.
ذر Thread دوم باید یک پوشه را از مسیر C:\test\tozip باز کرده و تمام محتویات آن را همراه زیر پوشههای آن فشرده کند
و در پوشه C:\test\zip یک فایل که نام آن تاریخ و زمان فعلی بعلاوه یک عدد ۶ رقمی تصادفی است ساخته و ذخیره کند.
سپس پوشه tozip را حذف کند و منتظر بماند تا دوباره پوشه ایجاد شود. بعد از ایجاد پوشه را از مسیر C:\test\tozip باز کرده و همان عمل قبل را تکرار کند
نکات فنی:
برای آزمایش یک فایل test.js ایجاد شود که در آن این addon لود شده و تابع start فراخوانی شود به نحوی که بتوان آن را با electron اجرا کرد.(با دستور electron ./start.js)
برای کامپایل از ویژوال استودیو 2022 استفاده شود.
برنامه باید در چند فایل و با ساختار مرتب نوشته شود.
تمام عملیاتهای فایل باید با استفاده از هدر <filesystem> انجام شود.
برنامه C++ باید با استاندارد c++20 کامپایل شود.
نسخه node باید 14.16.0 باشد
نسخه پایتون 3.11.8 یا 3.12.1 باشد
نسخه الکترون 13.1.8 باشد
نسخه node-gyp باید 9.4.1 باشد
پروژه را باید بتوان در ویژوال استودیو به منظور دیباگ باز کرد
مستندات
از ابتدای نصب node.js و پایتون و الکترون شروع شود.
لازم نیست مستندات رسمی باشد ولی مرتب و قابل فهم بودن آن مهم است. در جاهایی که لازم است از screenshot استفاده شود.