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

قراره چی کار کنیم ؟

قراره یک سیستم اطلاع رسانی درون شرکتی / سازمانی بسازیم تا بر روی همه کامپیوتر های یک شرکت که به اینترنت وصل هستند و نرم افزار ما رو نصب دارند بتونیم یک پیغامی رو نشون بدیم ? ، یک سیستم خیلی ساده که  با استفاده از رای کانکت ایجادش میکنیم

موارد مورد نیاز :

  • اکانت موقتی رای کانکت (صرفا برای آموزش)
  • یک سرور مجازی – یا اکانت فندق (نسخه رایگانش هم جواب میده)
  • یک ادیتور برای کد نویسی مثلا (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 قرار دارد این دسترسی دقیق ترین نوع دسترسی برای اشاره به یک فانکشن مخصوص با همه ویژگی های آن است که آدرس دقیق یک فانکشن را شامل آدرس - متد و اسکوپ آن اعلام کرده است


توجه کنید که فیلد ها به یک دیگر وابستگی به معنایی دارند و اسکوپ و متد نسبت به ادرس تعریف میشود





بقیه ماجرا رو در قسمت دوم که لینکش رو به محض انتشار در همینجا قرار خواهم داد بخونید :)


لینک قسمت دوم