چالش
عدم وجود یک سیستم یکپارچه و دقیق برای پیشبینی زمان رسیدن قطارهای متروی تهران، باعث اتلاف وقت مسافران میشد. برنامههای موجود، زمانبندی قطارهای سریعالسیر (اکسپرس) را در نظر نمیگرفتند و منطق مسیریابی آنها مبتنی بر الگوریتمهای ایستا بود که در ساعات اوج مصرف یا روزهای تعطیل پاسخگوی نیاز مسافران نبود.
راهحل ارائه شده
توسعه یک اپلیکیشن مستقل با React Native که دادههای خام جداول زمانی مترو را تجزیه و تحلیل کرده و در یک پایگاه داده محلی (SQLite) ساختاردهی میکند. با پیادهسازی الگوریتم دایجسترا (Dijkstra) در سمت کلاینت، اپلیکیشن قادر است سریعترین مسیر را با محاسبه زمان انتظار در ایستگاههای تعویض خط و در نظر گرفتن نوع قطار (عادی/تندرو) به صورت لحظهای به کاربر پیشنهاد دهد.
قابلیتها و ویژگیهای خاص معماری
زمانبندی هوشمند و آفلاین
دسترسی به آخرین تغییرات زمانبندی تمام خطوط و ایستگاههای متروی تهران و حومه بدون نیاز به اینترنت، با قابلیت بروزرسانی دورهای.
مسیریابی پیشرفته گراف
استفاده از الگوریتمهای مسیریابی برای یافتن سریعترین مسیر ممکن با محاسبه دقیق زمان توقف و تعویض خطوط.
رهگیری گامبهگام مسیر
نمایش جزئیات مسیر به کاربر شامل زمان دقیق رسیدن به هر ایستگاه و راهنمای جهتگیری بر اساس تابلوهای فیزیکی مترو.
پشتیبانی از قطارهای اکسپرس
تشخیص و محاسبات اختصاصی برای قطارهای سریعالسیر (خط ۵) و قطارهای با مقاصد متغیر برای جلوگیری از اشتباه مسافر.
فناوریها
گالری تصاویر
چالشها و یادگیریها
این محصول نمایانگر تسلط من بر بهینهسازی پردازشهای سنگین در دستگاههای موبایل (Mobile Performance) است. پیادهسازی الگوریتمهای مسیریابی گراف در جاوااسکریپت، مدیریت دیتابیسهای لوکال برای عملکرد آفلاین (Offline-first) و انتشار موفق یک محصول کاربردی با کاربران فعال، از تجربیات کلیدی من در این پروژه بود.