work@hossein-assar.devپاسخ در کمتر از ۲۴ ساعتEnglish
حسین عصارحسین عصارطراحی و توسعه وب
بازگشت به نمونه‌کارها
وب · تک‌فایل SPA

وب‌سایت ATK — تولیدکننده تجهیزات کمک‌حرکتی

پروتوتایپ کامل وب‌سایت B2B هفت‌صفحه‌ای، کامپایل‌شده در یک فایل HTML مستقل و بدون نیاز به هاست

HTML/CSS/JS · تک‌فایل SPA
وب‌سایت ATK — تولیدکننده تجهیزات کمک‌حرکتی

درباره کارفرما

ATK یک تولیدکننده و عمده‌فروش ایرانی تجهیزات کمک‌حرکتی است — واکر تاشو، عصای تنظیم‌شونده، صندلی حمام و توالت، فریم ایمنی توالت و عصای زیربغلی — که از سال ۱۳۸۷ فعالیت می‌کند و محصولاتش را به داروخانه‌ها و توزیع‌کنندگان سراسر کشور می‌فروشد. برخلاف بسیاری از رقبا که صرفاً واسطه فروش هستند، ATK روی تولید داخلی و کنترل کیفیت تمرکز دارد.

دامنه پروژه و نقش من

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

قابلیت‌های اصلی

۰۱هویت بصری اختصاصی: پالت رنگی سبز-فیروزه‌ای، سیستم تایپوگرافی ترکیبی Vazirmatn (فارسی) و Archivo Black (لوگوی لاتین)، و موتیف بصری اختصاصی الهام‌گرفته از فرم عصا در لوگو و جزئیات رابط کاربری
۰۲چیدمان کاملاً راست‌به‌چپ (RTL) در تمام صفحات
۰۳گالری تعاملی محصولات با لایت‌باکس بزرگ‌نمایی، تصاویر بندانگشتی قابل‌تعویض، و بزرگ‌نمایی با هاور
۰۴انیمیشن‌های ظاهرشدن هنگام اسکرول، آمار شمارشی متحرک، نوار ناوبری چسبان با سایه اسکرول، و پارالاکس ملایم هیرو — همه با رعایت prefers-reduced-motion
۰۵داده‌های واقعی محصولات برگرفته از مستندات و عکس‌های تولیدکننده (بازنویسی‌شده، نه کپی مستقیم)، با برچسب صریح «نامشخص» در مواردی که داده کامل نبود

چالش‌های اصلی

باگ‌های خاص RTL در CSS

رفتار justify-content: flex-end در فلکس‌باکس‌های RTL دقیقاً برعکس انتظار بصری است؛ لازم بود این ناهماهنگی‌های چیدمان که در توسعه معمول LTR-محور دیده نمی‌شوند شناسایی و اصلاح شوند.

ادغام ۱۱ صفحه مستقل در یک فایل

به‌جای بارگذاری واقعی صفحات، یک روتر سبک سمت کلاینت (مبتنی بر hash/نام فایل) ساختم که بخش‌ها را نمایش/مخفی می‌کند.

تداخل شناسه‌های تکراری (ID)

چند صفحه به‌طور مستقل از شناسه‌های یکسان (مثل mainProductImg یا rfq) استفاده کرده بودند؛ راه‌حل، بازنویسی جاوااسکریپت برای محدودکردن جستجوی DOM به بخش صفحه فعال، به‌جای تکیه بر getElementById سراسری بود.

باگ ساختاری ناشی از ادغام

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

تحویل کاملاً آفلاین و بدون وابستگی

همه فونت‌ها و عکس‌ها به‌صورت base64 مستقیم در HTML جاسازی شدند (بدون هیچ درخواست خارجی)، تا فایل در هر مرورگری و بدون سرور به‌تنهایی کار کند.

نتیجه

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

تصاویر پروژه

صفحه اصلی وب‌سایت ATK
۰۱ — صفحه اصلی
کاتالوگ محصولات ATK
۰۲ — کاتالوگ محصولات
صفحه محصول ATK
۰۳ — صفحه محصول