این پروژه یکی از پروژههایی بود که تقریباً از طراحی رابط کاربری تا بکاند و نسخه موبایلش رو خودم انجام دادم. هدف اصلی این بود که کلینیک یک فضای اختصاصی داشته باشه تا بتونه دورهها و محتوای آموزشی خودش رو به کاربران ارائه کنه و در کنارش، مدیریت کاربران، سفارشها و دورهها هم از طریق یک پنل جداگانه انجام بشه.
برای بخش کاربری، سعی کردم روند استفاده از برنامه تا جای ممکن ساده باشه. کاربر میتونه داخل اپلیکیشن ثبتنام و وارد حسابش بشه، دورههای موجود رو ببینه، اطلاعات و جزئیات هر دوره رو بررسی کنه، دوره موردنظرش رو خریداری کنه و بعد از خرید، از طریق کتابخانه شخصی خودش به محتوا و ویدئوهای دوره دسترسی داشته باشه.
یکی از قسمتهایی که در این پروژه چالش بیشتری داشت، مدیریت ویدئوهای آموزشی بود. چون قرار نبود فایلهای دوره مستقیماً روی هاست اصلی پروژه قرار بگیرن، برای نگهداری و مدیریت فایلها از فضای ابری ArvanCloud استفاده کردم. از طرفی چون این ویدئوها محتوای خریداریشده هستن، دسترسی مستقیم و عمومی به فایلها مناسب نبود؛ به همین خاطر سیستم دسترسی به فایلها به شکلی پیادهسازی شد که کاربران مجاز بتونن از طریق لینکهای امن و زماندار به محتوای دورهای که خریداری کردن دسترسی داشته باشن.
در کنار اپلیکیشن، یک پنل مدیریت اختصاصی هم از صفر برای پروژه طراحی و پیادهسازی کردم. از طریق این پنل، مدیر مجموعه میتونه کاربران رو مدیریت کنه، دوره یا محصول جدید ایجاد کنه، اطلاعات دورهها رو تغییر بده، فایلهای آموزشی رو به دورهها متصل کنه و سفارشهای ثبتشده رو ببینه و مدیریت کنه. در واقع سعی کردم بخشهای اصلی موردنیاز مجموعه داخل یک پنل ساده و یکپارچه در دسترس باشه.
بخش مهم دیگه پروژه، ارتباط بین اپلیکیشن، API، بکاند و دیتابیس بود. APIهای موردنیاز پروژه بهصورت اختصاصی پیادهسازی شدن و اطلاعات کاربران، دورهها، سفارشها و دسترسی کاربران به محتوا از طریق بکاند مدیریت میشه. برای ورود و ثبتنام کاربران هم فرآیند احراز هویت و کد تأیید در نظر گرفته شده.
برای نسخه موبایل هم پروژه با Capacitor آماده شد تا همون پروژه Vue بتونه برای موبایل هم مورد استفاده قرار بگیره. نسخه Android بهصورت اپلیکیشن قابل نصب آماده شده و برای کاربران iPhone هم نسخه تحت وب موبایل در نظر گرفته شده تا بدون وابستگی به یک دستگاه یا سیستمعامل خاص بتونن به سامانه دسترسی داشته باشن.
از بخشهایی که خودم در این پروژه انجام دادم میشه به طراحی UI، توسعه Front-end با Vue.js، برنامهنویسی Backend و API با PHP، طراحی و ارتباط با دیتابیس MySQL، اتصال فضای ذخیرهسازی ArvanCloud، مدیریت دسترسی امن به فایلهای دوره، سیستم کاربران و سفارشها، پنل مدیریت و آمادهسازی نسخه موبایل اشاره کرد.
این پروژه برای من فقط ساخت چند صفحه نبود؛ در واقع یک سیستم کامل بود که چند بخش مختلف باید با هم کار میکردن: اپلیکیشن کاربر، پنل مدیریت، سرور، دیتابیس، پرداخت و فضای ذخیرهسازی فایلها. همین موضوع باعث شد تجربه خوبی از پیادهسازی یک پروژه Full Stack واقعی، از طراحی اولیه تا استقرار و استفاده عملی، داشته باشم. ?
سامانه اختصاصی کلینیک دکتر بدیعی با هدف ارائه دورههای آموزشی، مدیریت محتوای آموزشی، کاربران و سفارشها و فراهم کردن دسترسی آسان کاربران به محتوای خریداریشده توسعه داده شده است.