آموزش ساخت یک سرویس اطلاع رسانی درون سازمانی (قسمت اول)

قراره چی کار کنیم ؟قراره یک سیستم اطلاع رسانی درون شرکتی / سازمانی بسازیم تا بر روی همه کامپیوتر های یک شرکت که به اینترنت وصل هستند و نرم افزار ما رو نصب دارند بتونیم یک پیغامی رو نشون بدیم ? ، یک سیستم خیلی ساده که با استفاده از رای کانکت ایجادش میکنیمموارد مورد نیاز :اکانت موقتی رای کانکت (صرفا برای آموزش)یک سرور مجازی – یا اکانت فندق (نسخه رایگانش هم جواب میده)یک ادیتور برای کد نویسی مثلا (vscode)نصب بودن nodejs در سیستمتونتلگرام (ربات تلگرام)رای کانکت چی هست ؟ رای کانکت یک فریم ورک ابری یا cloud framework هست، رای کانکت کلی تابع آماده در اختیارتون قرار داده که به وسیله اون توابع میتونید به سادگی اپتون رو توسعه بدید بدون اینکه نیاز به نوشتند خیلی چیز ها از قبل داشته باشیددر رای کانکت، نیاز نیست که نگران خیلی از چیزا باشید سیستم مدیریت کاربران - کنترل دسترسی - ارسال پیام کوتاه - ورود با تلفن همراه - اپلود - پیام رسانی بلادرنگ - کوئری سرویس - مینی دیتابیس و هزار و یک چیز به صورت آماده در رای کانکت وجود داره که شما میتونید ازش به سادگی استفاده کنید ساخت اکانت موقتی رای کانکتقبل از هر کاری باید یک اکانت رای کانکت بسازیم / رای کانکت فعلا در فاز تست و توسعه قرار داره پس باید از سرور های موقتی رای کانکت اقدام به ایجاد یک اپ رای کانکتی کنیم / این زیر یک سرور رای کانکت گذاشتم که میتونید برای ساخت اپ رای کانکت بهش مراجعه کنیدبرای ساخت اکانت موقتی رای کانکت میتونید به این صفحه برید و یک اکانت رای کانکت برای خودتون دریافت کنید.کار با این صفحه خیلی سادس اسم اپتون رو انتخاب کنید و شماره موبایلتون رو وارد کنید / بعد از تایید کردن موبایلتون براتون username/password اپتون ارسال میشهاین یوزر نیم و پسورد رو در یک جای امن ذخیره کنید چون دیگه بهتون نمایش داده نمیشه ?راه اندازی یک پروژه از نوع rayconnectاول باید nodejs رو نصب کنیم :برای نصب، فرقی نمی‌کند سیستم‌‌عامل شما Windows ،Linux یا macOS باشد، تنها به NodeJS و npm نیاز دارید. برای دانلود و نصب NodeJS می‌توانید از لینک مقابل استفاده کنید: وب‌سایت رسمی NodeJSبعدش باید git رو نصب کنیم : راهنمای کامل نصب گیت در سیستم عامل های مختلف رو میتونید از اینجا بخونید خوب حالا که جفتشون رو نصب کردیم باید بویلر پلیت رای کانکت رو کلون کنیم تا بتونیم بر اساسش کارمون رو توسعه بدیممن یک نسخه خیلی ساده از رای کانکت بویلر پلیت رو اینجا قرار دادم که میتونید کلونش کنید https://github.com/mrfelfel/rayconnect-boilerplate بعد از کلون کردنش با ساختار پوشه ایش روبه رو میشیم که این شکلیه ├── package.json ├── package-lock.json ├── README.md ├── server │ ├── permissions.js │ └── server.js └── start.jsکد های اساسی برنامه در پوشه server هست و ما باید در پوشه سرور کد هامون رو بنویسیم این پوشه از دو فایل اساسی تشکیل شده فایل اول با نام permissions و فایل دوم با نام server برنامه های رای کانکتی در تابع های کوچک که به query معروف هستند نوشته میشوددر رای کانکت هر تابع (عملکرد) از برنامه با سه مشخصه زیر از یک دیگر جدا میگردد اسکوپ یا scope محدوده ای که تابع در آن فعالیت میکند را مشخص میکند برای مثال users اشاره به محدوده کاربران و یا books اشاره به محدوده کتاب ها دارد (نام گذاری اسکوپ ها به عهده برنامه نویس میباشد)آدرس یا address مسیر دقیق فعالیت تابع را مشخص میکند برای مثال users/library/signup آدرس تابع ثبت نام کاربر در کتابخانه و books/list آدرس تابعی است که لیست کتاب ها را به خروجی بر میگرداندمتد یا method نحوه تعامل با تابع را مشخص میکند برای مثال LIST / POST / GET و هر نام دیگری نام گذاری این مقادیر کاملا اختیاری و بر عهده برنامه نویس میباشد (فقط نکته قابل توجه این است که نباید شامل فاصله یا حروف غیر انگلیسی باشد ) همچنین نباید با اعداد یا کلمات رزرو شده تمام شود (back - end - loop) از کلمات رزرو شده ی سیستم میباشدرای کانکت به صورت دیفالت استفاده از permission را اجباری کرده است یعنی شما باید به عنوان برنامه نویس مشخص کنید که کاربران و مهمان ها به چه توابعی دسترسی دارند که این امر به سادگی در فایل permissions قابل انجام استبر اساس توضیحات بالا کد زیر ارایه ای از دسترسی ها میباشد که توضیح خواهم داد :ارایه دسترسی های رای کانکتکد بالا ارایه ای از دسترسی های رای کانکت میباشدکلید mode که در حالت add قرار دارد به معنای این است که این دسترسی قرار است به سیستم اضافه شودکلید uid اشاره به کاربری دارد که این دسترسی را دریافت میکند که میتواند یک نام کاربری - علامت * به معنای همه کاربران و یا guest به معنای کاربران مهمان باشد که در این حالت اشاره به کاربران مهمان دارددر خط بعد address قرار دارد که در بالا توضیح داده شد به این معنا که کاربران مهمان به تابعی به این ادرس دسترسی دارند در خط بعد متدی که کاربر به آن دسترسی دارد و در خط بعد scope قرار دارد این دسترسی دقیق ترین نوع دسترسی برای اشاره به یک فانکشن مخصوص با همه ویژگی های آن است که آدرس دقیق یک فانکشن را شامل آدرس - متد و اسکوپ آن اعلام کرده استتوجه کنید که فیلد ها به یک دیگر وابستگی به معنایی دارند و اسکوپ و متد نسبت به ادرس تعریف میشودبقیه ماجرا رو در قسمت دوم که لینکش رو به محض انتشار در همینجا قرار خواهم داد بخونید :)لینک قسمت دوم