پست‌ها

تایید هویت و ورود مخصوص اپ‌های کانکت

سلام و درود بر دوستداران علم و ادب امروز قصد داریم نحوه ورود به اهراز هویت در اپ های کانکت را با هم مرور کنیم. دلیل اینکه به اپ های کانکت اشاره می شه اینه که با اپ دیسکاوری قاطی نشه. چون نحوه ورود و اهراز هویت برای اپ دیسکاوری متفاوت تر از اپ های کانکت که مختص هر برگزار کننده ساخته می شه خواهد بود. برای ورود به اپ تصمیم بر این شد که کاربر موبایل خود را وارد کرد، تایید کند، سپس وارد اپ شود. در نتیجه برای اهراز هویت نیاز به کد تاییده هست که به موبایل کاربر ارسال می‌شود. سپس با استفاده از کد دریافتی توسط کاربر، درخواست دیگری برای گرفتن توکن خواهیم داشت. درخواست و دریافت کد تاییدیه برای دریافت کد تاییدیه نیازه هست شماره موبایل کاربر به ریسورس ای ارسال شود تا اینکه کدی دارای اعتبار ۲ دقیقه ای ساخته و برای کاربر ارسال گردد. برای درخواست کد تاییدیه به این شکل عمل می کنیم: POST https://connect.evand.com/api/ mobile/verification-codes { " mobile ": "09XXXXXXXXX" } در صورت معتبر بودن شماره موبایل، کد تاییدیه ای برای کاربر ارسال خواهد ...

Event Widgets (description)

سلام یه ریسورس ای بود برای گرفتن ویجت های رویدادها بصورت مجزا از خود رویداد: GET https://api.evand.com/events/{EventSlug}/description {   "data": [     {       "title": "fsafewr",       "type": "description",       "description": "..."     },     {       "title": "werwer",       "type": "speakers",       "content": [         {           "name": "werwer"         }       ]     },     {       "title": "test",       "type": "organizers"     },     {       "content": "",       "title": "توضیحات تکمیلی",       "type": "description",       "description": "<p>این یک توضیحات تکمیلی است<\/p>" ...

ریسورس دریافت اطلاعات رویداد با اسلاگ - نسخه ۲

سلام دلیل ایجاد این ریسورس با اینکه ریسورس ای برای گرفتن اطلاعات رویداد داشتیم، یه سر از ضعف های موجود در نسخه قبلی بود. در نسخه قبلی در صورتی که اسلاگ رویدادی عوض می شد، خطای ۴۰۴ می داده و اینکه اشاره به اسلاگ جدید می کرد که رویداد با آدرس جدید گرفته بشه. تفاوت نسخه جدید در اینه که بجای خطای ۴۰۴، کد ۳۰۱ به منظور انتقال ریسورس به آدرس جدید می ده و آدرس ریسورس جدید هم در هدر با Location تعیین می شه. در نسخه جدید، در اصل وقتی درخواستی به اسلاگ قدیمی رویداد زده بشه، بجای اینکه خطا بده، redirect می کنه به آدرس جدید. در اصل برنامه ها یا کتابخانه هایی که باهاشون برای ارسال درخواست استفاده می کنیم، معمولا خودشون این مسئله redirect رو هندل می کنن و برنامه نویس نیاز به درگیری خاصی نخواهد بود. مثل fetch که بروبچ خودمون برای دریافت اطلاعات استفاده می کنن که خودش این مسئله redirect رو هندل می کنه. اگرم کلاینت براش مهم باشه که آدرس جدید در مرورگر به کاربر نشان بده، می تونه اسلاگی که درخواست کرده بود رو با اسلاگ رویداد دریافتی مقایسه و در صورت مغایرت می تونه کاربر رو به آدرس جد...

Seating

سلام سلام صد تا سلام سیستم صندلی به این شکل ترسیم شده که بچه های ایوندی یه سری سالن طراحی می کنن و به عنوان قالب نیازه ذخیره شه. در نهایت برای ساخت سالن برای هر رویداد، با استفاده قالب‌های ذخیره شده امکان ساخت سالن درخواستی فراهم می شه. که انتخاب و قالب سالن به انتخاب خود برگزار کننده می تونه انجام بپذیره. قالب سالن ساختار دیتای مربوط به قالب سالن ها کاملا توسط فرانت طراحی می شه و به عنوان JSON در اختیار api قرار داده می شه که ذخیره شه. یه اسمی هم روش گذاشته می شه. و API نظری روی ساختار دیتای قالب ها نداره و نخواهد داشت. قالب ها قابلیت انتشار دارند که در صورتی که قالبی ذخیره بشه و ناقص باشه، توسط برگزار کننده گان مشاهده نشه و تنها زمانی توسط برگزار کننده ها قابل رویت و استفاده باشن که قالب ها منتشر شده باشن. ساخت قالب برای ساخت قالب به این شکل عمل می کنیم: POST https://api.evand.com/seating/templates {     "title" : "this is a title",     "data" : {     ANY_VALID_JSON     },     “published” : “false” } ک...

لیست دسترسی به بخش ها برای ادمین پنل

سلام بر مهدی جون پدر، یاشام رو نیاوردی زیارت کنیم ها :( یادت باشه. یکی از ایده های پشت ( پرده ) ادمین پنل جدید این بود که هر بخش سطح دسترسی های خود را داشته باشه و فقط افرادی که دسترسی داشته باشن بتونن استفاده کرده و لذتش را ببرن. آنهایی هم که دسترسی ندارن، حسرتش را بر دل خویش، احساس خواهند کرد :( (شکلک زندگی چقدر بی رحمه) ریسورسی برای این منظور طراحی و ساخته شده که تنها کارش اینه که یه لیستی از بخش های که ادمین بهش دسترسی داره رو لیست کنه. برای استفاده از این ریسورس نیازه JWT توکن داشته باشیم و دسترسی ادمین هم نیازه داشته باشیم. یعنی یه ادمین ایوندی می تونه به این ریسورس دسترسی داشته باشه. در نتیجه ازطریق هدر نیازه توکن مربوطه نیز ارسال گردد: Headers: Authorization: Bearer ... برای دریافت لیست، به این شکل عمل می کنیم: GET https://api.evand.com/admin-panel/accessible-sections [   "advertising_campaigns" ] خروجی مربوطه یه آرایه از بخش هایی که کاربر بهش دسترسی داره هست. خیلی شیک و ساده. مهدی جون خدافظ :(

رویدادهای موضوعات مورد علاقه کاربر

?سلام در صفحه اول ایوند نیازه بوده که رویدادهای مربوط به موضوعاتی که کاربر علاقمند هست نمایش داده شود. از آنجایی هم که ریسورس ای برای این منظور در دست نبود، فرانت برای این منظور از ریسورس های مختلفی برای این کار استفاده می کرد که لیست موضوعات رو پیدا کنه، و برای هر موضوع درخواستی به لیست رویدادهای بزنه و رویدادهای موضوعات رو در بیاره که البته درش خطایی هم هست. درخواست هایی می خوره که نتایجی به همراه نخواهد بود. و البته ترتیب دیتاها هم به راحتی توسط فرانت قابل انجام نبود. این ریسورس برای اینکه که لیستی از موضوعات ای که کاربر بهش علاقمند هست به همراه ۴ تن از رویداد مربوط به موضوع مورد نظر رو در دسترس کلاینت قراره بده. ترتیب موضوعات هم بر اساس بیشترین فروشش چیده شده. برای دریافت لیست موضوعات و رویدادهای بدین شکل عمل می کنیم: GET https://api.evand.com/followed-categories/events {   "data": [     {       "category_id": 1,       "category_title": "کارآفرینی",       "category_slug": "کارآفرینی", ...

تغییرات مربوط به مشکلات وندو با AdBlocker

سلام و درود یه سری مشکلات بخاطر استفاده از اسم advertise و استفاده همزمان با AdBlocker داشتیم که یکی از کارهایی که بنظر در راستاش می شه کرد اینه که بجای کلمه advertise از کلمه دیگری استفاده بشه. که خوب چون اسم vando بین خودمون رایج شده و برای اکثر بچه ها معنی و مفهوم داره تصمیم گرفتم بجای advertise  از این کلمه استفاده کنم. اگر پیشنهاد بهتری دارید، اطلاع بدید حتما لحاظ می شه. از آنجایی که پیشنهاد دیگری هم هنگام انجام این تسک نبود به همین خاطر مستقیم می رم سر اجرایی کردن همین تصمیم و تست بشه و ببینیم چه اتفاقی می افته و تصمیمی های بعدی اگه نیاز باشه گرفته بشه. اینجا صرفا ریسورس هایی که تغییر نام داده شدن رو لیست می کنم. البته صرفا alias ای برای ریسورس های قبلی ایجاد شده که بشه دیپلوی کرد و بچه‌های فرانت مجبور به دیپلوی موازی با بک نشه که سر فرصت بتونن تغییرات مربوطه رو اعمال کنند. GET /events/{slug}/ advertises /overview => /events/{slug}/ vando /overview POST /events/{slug}/ advertise_calculator => /events/{slug}/ vando/calculator POST /events/{s...