
مشاهده تصاویر



+14
توسعه و پیادهسازی فرانتاند یک وبسایت گردشگری و رزرو آنلاین برای خرید بلیط هواپیما، رزرو هتل و تورهای گردشگری، با تمرکز بر TypeScript، Nuxt UI، بهینهسازی عملکرد، معماری کش چندلایه و سئوی فنی.
فناوریها
Frontend
Nuxt.js 4VueTypeScriptNuxt UIPiniaTailwind CSS
Performance & seo
caching (Redis, Nitro Server)nuxt-schema-orgNuxt Seo Tools (og-image, robots,...)
Other
pwaLeaflet
Architecture
Atomic DesignModular ArchitectureComponent-Based ArchitectureNuxt Layers
شرکت:شاهان سفر پارس
شروع:۱۴۰۴ آبان
پایان:۱۴۰۵ خرداد
چالش اصلی
مارکوپرو پروژهای بود که فرصت یادگیری و پیادهسازی عملی چند مهارت کلیدی را در یک پروژه واقعی Nuxt فراهم کرد. تمرکز اصلی پروژه روی ایجاد یک فرانتاند مدرن، سریع و قابل نگهداری بود.
از مهمترین چالشها و اهداف فنی پروژه میتوان به موارد زیر اشاره کرد:
- مهاجرت به TypeScript: استفاده از TypeScript در یک پروژه واقعی Nuxt و حرکت از JavaScript به یک ساختار تایپشده و قابل اطمینانتر.
- پیادهسازی Nuxt UI: استفاده از Nuxt UI بهعنوان لایه اصلی رابط کاربری و ایجاد یک ساختار یکپارچه برای کامپوننتهای پروژه.
- طراحی معماری کش چندلایه: پیادهسازی استراتژی کش در چند سطح، شامل مدیریت وضعیت در سمت کلاینت، هدرهای
Cache-Control، کش سمت سرور با Nitro و استفاده از Redis برای کاهش درخواستهای تکراری و بار روی سرور. - کنترل حجم باندل: بررسی و پایش خروجی پروژه با ابزارهایی مانند
nuxi analyzeو بهینهسازی وابستگیها و باندل برای جلوگیری از افزایش غیرضروری حجم اپلیکیشن. - بهینهسازی سئوی فنی: پیکربندی ساختارهای موردنیاز برای سئوی فنی، از جمله
Schema.orgو تولید Sitemap با استفاده از ابزارهای اکوسیستم Nuxt SEO.
این پروژه همچنان در حال توسعه است و هنوز به نسخه نهایی نرسیده است.
رویکرد
برای بهبود عملکرد، معماری کش پروژه بهصورت چندلایه طراحی شد تا دادههای موردنیاز تا حد امکان از نزدیکترین لایه به کاربر تأمین شوند. در سمت کلاینت، مدیریت وضعیت و کش دادهها به کاهش درخواستهای تکراری کمک کرد و در سمت سرور نیز Nitro و Redis برای مدیریت و نگهداری پاسخهای قابل کش مورد استفاده قرار گرفتند.