در فرآیند یادگیری و آمادگی برای آزمون‌ها، دسترسی به محتوای آموزشی مناسب تنها بخشی از مسیر است. انتخاب سؤال‌های مرتبط با مباحث موردنظر، تعیین تعداد سؤال‌ها و دسترسی منظم به مجموعه‌های انتخاب‌شده نیز می‌تواند تجربه مطالعه و تمرین را ساده‌تر کند.

Quarx اپلیکیشنی اندرویدی است که با هدف ساده‌سازی همین فرآیند طراحی شده است. کاربران می‌توانند از میان دسته‌بندی‌های آموزشی و موضوعات موجود، مباحث موردنظر خود را انتخاب کنند، تعداد سؤال‌ها را مشخص کنند و مجموعه‌ای متناسب با نیاز خود بسازند. سپس امکان مشاهده سؤال‌ها و پاسخ‌ها، ذخیره خروجی و اشتراک‌گذاری آن‌ها در اختیارشان قرار می‌گیرد.

در این پروژه، دشت توسعه اپلیکیشن اندرویدی Quarx را بر عهده داشته است؛ اپلیکیشنی که تلاش می‌کند مسیر دسترسی به محتوای آموزشی و آماده‌سازی مجموعه‌های تمرینی را منظم‌تر و کاربردی‌تر کند.

انتخاب موضوعات و ساخت مجموعه سؤال

یکی از بخش‌های اصلی Quarx، امکان انتخاب موضوعات آموزشی است. کاربر ابتدا دسته‌بندی موردنظر خود را انتخاب می‌کند و سپس به فهرست موضوعات و زیرمجموعه‌های آن دسترسی دارد.

برای ساده‌تر شدن انتخاب، امکان جست‌وجو میان موضوعات و فیلترکردن آن‌ها بر اساس پایه تحصیلی نیز در نظر گرفته شده است. به این ترتیب، کاربر می‌تواند بدون نیاز به مرور دستی تمام محتوا، سریع‌تر به موضوع موردنظر خود برسد.

در مرحله بعد، برای هر موضوع می‌توان تعداد سؤال‌های دلخواه را مشخص کرد. این قابلیت کمک می‌کند مجموعه نهایی متناسب با زمان و هدف مطالعه کاربر شکل بگیرد.

انتخاب سؤال‌های جدید، قبلی یا ترکیبی

Quarx فقط به انتخاب موضوعات محدود نمی‌شود. کاربر می‌تواند مشخص کند مجموعه نهایی از چه نوع سؤال‌هایی تشکیل شود.

سه حالت اصلی در اپلیکیشن در نظر گرفته شده است:

  • سؤال‌های دیده‌نشده: برای دریافت سؤال‌هایی که پیش‌تر در مجموعه‌های تولیدشده کاربر قرار نگرفته‌اند.

  • مجموعه‌های قبلی: برای دسترسی مجدد به سؤال‌هایی که قبلاً انتخاب و تولید شده‌اند.

  • مجموعه ترکیبی: برای استفاده از همه سؤال‌های موجود، بدون محدودشدن به یکی از دو حالت قبلی.

این انتخاب، انعطاف بیشتری در استفاده از محتوای آموزشی ایجاد می‌کند. برای مثال، کاربر می‌تواند هنگام تمرین اولیه سراغ سؤال‌های جدید برود و در مراحل مرور، از مجموعه‌های قبلی یا ترکیبی استفاده کند.

مشاهده سؤال‌ها و پاسخ‌ها

پس از انتخاب موضوعات و تعیین تنظیمات مجموعه، Quarx محتوای مربوط به انتخاب کاربر را دریافت و آماده نمایش می‌کند.

در صفحه خروجی، سؤال‌ها و پاسخ‌ها در دو بخش مجزا قرار گرفته‌اند. جابه‌جایی میان این دو بخش از طریق تب‌های مستقل انجام می‌شود و کاربر می‌تواند محتوای هر قسمت را جداگانه مرور کند.

این تفکیک باعث می‌شود دسترسی به پاسخ‌ها ساختارمندتر باشد و کاربر بتواند هنگام تمرین، ابتدا سؤال‌ها را بررسی کند و سپس برای ارزیابی پاسخ‌های خود به بخش جواب‌ها مراجعه کند.

ذخیره و اشتراک‌گذاری خروجی PDF

یکی از قابلیت‌های کاربردی Quarx، امکان ذخیره و اشتراک‌گذاری مجموعه سؤال‌ها و پاسخ‌هاست.

کاربر می‌تواند محتوای هر بخش را به‌صورت خروجی تصویری آماده کرده و در قالب فایل PDF ذخیره کند یا با دیگران به اشتراک بگذارد. در نتیجه، استفاده از مجموعه‌های آماده‌شده به داخل اپلیکیشن محدود نمی‌شود و امکان نگهداری، مرور یا استفاده از آن‌ها در خارج از برنامه نیز وجود دارد.

در طراحی این بخش، ساختار خروجی شامل عنوان، تاریخ، اطلاعات کاربر و محتوای سؤال‌ها یا پاسخ‌هاست. همچنین برای نمایش محتوای طولانی، صفحات خروجی به‌گونه‌ای آماده می‌شوند که تصاویر و اطلاعات در قالبی منظم قرار بگیرند.

حساب کاربری و دسترسی شخصی

Quarx از سیستم حساب کاربری پشتیبانی می‌کند تا کاربران بتوانند با حساب خود وارد برنامه شوند.

امکانات این بخش شامل ثبت‌نام، ورود با ایمیل و رمز عبور، ورود با حساب Google و بازیابی رمز عبور است. همچنین صفحه پروفایل، اطلاعات حساب کاربر و امکان خروج از حساب را در اختیار او قرار می‌دهد.

وجود حساب کاربری در کنار قابلیت نگهداری سابقه و مجموعه‌های قبلی، به کاربران کمک می‌کند تجربه منظم‌تری در استفاده از اپلیکیشن داشته باشند.

طراحی و توسعه فنی اپلیکیشن

در توسعه Quarx، تمرکز بر ساخت یک اپلیکیشن اندرویدی با رابط کاربری مدرن، ساختار قابل نگهداری و ارتباط با سرویس‌های موردنیاز پروژه بوده است.

این اپلیکیشن با Kotlin و Jetpack Compose توسعه داده شده است. استفاده از Compose امکان پیاده‌سازی رابط کاربری به‌صورت کامپوننت‌محور و مدیریت ساختار صفحات را فراهم کرده است.

ساختار پروژه نیز به تفکیک مسئولیت‌ها در بخش‌های اصلی Presentation، Domain و Data سازمان‌دهی شده است:

  • Presentation: مدیریت صفحات، وضعیت رابط کاربری و رویدادهای مربوط به تعامل کاربر.

  • Domain: تعریف منطق کاربردی و موارد استفاده مستقل از جزئیات ارتباط با سرویس‌ها.

  • Data: پیاده‌سازی دسترسی به داده‌ها و ارتباط با منابع بیرونی.

در بخش‌های مختلف پروژه از ابزارها و کتابخانه‌هایی مانند Dagger Hilt برای تزریق وابستگی‌ها، Voyager برای مدیریت ناوبری، Retrofit برای ارتباط شبکه‌ای و Kotlin Coroutines برای عملیات غیرهم‌زمان استفاده شده است.

همچنین Firebase Authentication و Firestore در بخش‌های مرتبط با حساب کاربری و داده‌ها به کار رفته‌اند. دریافت فایل‌ها و تصاویر آموزشی نیز از طریق ارتباط با Google Drive انجام می‌شود.

این ساختار به تفکیک بهتر مسئولیت‌ها و توسعه‌پذیری بخش‌های مختلف اپلیکیشن کمک می‌کند.

نقش دشت در پروژه Quarx

در پروژه Quarx، دشت مسئولیت توسعه اپلیکیشن اندرویدی را بر عهده داشته است. پیاده‌سازی صفحات و جریان‌های اصلی برنامه، انتخاب موضوعات، تنظیم مجموعه سؤال، نمایش خروجی، مدیریت حساب کاربری و قابلیت ذخیره و اشتراک‌گذاری از بخش‌های قابل مشاهده این توسعه هستند.

هدف، ارائه تجربه‌ای یکپارچه برای کاربر بوده است؛ از زمانی که موضوع موردنظر خود را انتخاب می‌کند تا زمانی که مجموعه سؤال‌ها و پاسخ‌ها را مرور کرده و خروجی آن را ذخیره یا با دیگران به اشتراک می‌گذارد.

شروع پروژه مشابه با دشت

جمع‌بندی

Quarx نمونه‌ای از یک اپلیکیشن آموزشی است که به‌جای محدودکردن تجربه کاربر به نمایش محتوای ثابت، امکان انتخاب و آماده‌سازی مجموعه‌های متناسب با نیاز او را فراهم می‌کند.

ترکیب انتخاب موضوعات، تعیین تعداد سؤال‌ها، دسترسی به سؤال‌های جدید و قبلی، مشاهده جداگانه پاسخ‌ها و خروجی PDF، این اپلیکیشن را به ابزاری کاربردی برای سازمان‌دهی تمرین و مرور محتوای آموزشی تبدیل می‌کند.

دشت در این پروژه، توسعه اپلیکیشن اندرویدی را با تمرکز بر تجربه کاربری، ساختار فنی منظم و ارتباط با سرویس‌های موردنیاز محصول انجام داده است.