نمای کلی
این سند توسعه یک برنامه تلفن همراه طراحی شده برای ردیابی مکان کاربر، زمان و مسافت طی شده را تشریح می کند. این برنامه شامل ویژگیهایی برای شروع و توقف ردیابی، ذخیره دورهای دادههای ردیابی در پایگاه داده از طریق یک API، و اطمینان از جمعآوری دادهها در فواصل زمانی منظم در زمان فعال بودن ردیابی است.
بسته ها
لیست بسته نهایی:
@react-native-async-storage/async-storage
@react-native-community/geolocation
@react-native-masked-view/masked-view
@react-navigation/bottom-tabs
@react-navigation/native
@react-navigation/native-stack
@react-navigation/stack
هارسینه
jwt-decode
واکنشهای-native-background-actions
react-native-background-timer
react-native-base64
react-native-chart-kit
واکنش نشانگر-دایره-بومی-پیشرفت
react-native-geocoding
react-native-geolocation-service
react-native-gesture-handler
نمودارهای react-native-gifted
react-native-image-picker
react-native-maps
react-native-permissions
react-native-reanimated
react-native-screens
حسگرهای واکنش دهنده
react-native-shake
react-native-svg-transformer
نمادهای react-native-vector
react-native-vision-camera
موتورها
Node.js
نسخه: >=18
توضیحات: برنامه به Node.js نسخه 18 یا بالاتر نیاز دارد.
صفحه نمایش و عملکرد وجود دارد
صفحه اصلی
صفحه اصلی در برنامه به عنوان رابط اصلی برای شروع و مدیریت جلسات ردیابی موقعیت مکانی عمل می کند. این ویژگی برای شروع و توقف ردیابی، نمایش موقعیت فعلی کاربر بر روی نقشه، و ردیابی زمان و مسافت طی شده طی جلسه ارائه می کند.
توابع
خواندن داده ها
توضیحات: توکن کاربر را از AsyncStorage برای اهداف احراز هویت می خواند.
handleStartTracker
توضیحات: جلسه ردیابی را با ارسال یک درخواست POST به API پشتیبان برای شروع ردیابی مکان کاربر آغاز می کند.
handlePauseTracker
توضیحات: جلسه ردیابی را با ارسال یک درخواست POST به API پشتیبان متوقف می کند تا ردیابی مکان کاربر به طور موقت متوقف شود.
handleUpdateLocations
توضیحات: مکان فعلی کاربر را با ارسال یک درخواست POST به API باطن با طول جغرافیایی، طول جغرافیایی و شناسه مکان بهروزرسانی شده بهروزرسانی میکند.
محاسبه فاصله
توضیحات: فاصله بین دو مختصات جغرافیایی را با استفاده از فرمول هاورسین محاسبه می کند.
startForegroundLocationUpdates
توضیحات: با استفاده از سرویس موقعیت جغرافیایی دستگاه، در فواصل زمانی معین، مکان کاربر را در پیش زمینه به روز می کند.
stopForegroundLocationUpdates
توضیحات: به روز رسانی مکان کاربر را در پیش زمینه متوقف می کند و فاصله زمانی تنظیم شده برای به روز رسانی مکان را پاک می کند.
startLocationTracking
توضیحات: ردیابی موقعیت مکانی را با شروع بهروزرسانی مکان پیشزمینه و تنظیم یک تایمر برای ردیابی زمان سپری شده آغاز میکند.
stopLocationTracking
توضیحات: ردیابی موقعیت مکانی را با توقف بهروزرسانیهای مکان پیشزمینه، محاسبه مسافت طی شده و ارسال دادههای ردیابی نهایی به API پشتیبان متوقف میکند.
صفحه زمان خط
توابع
خواندن داده ها
توضیحات: توکن کاربر را از AsyncStorage برای اهداف احراز هویت می خواند.
محاسبه فاصله کل
توضیحات: کل مسافت طی شده را بر اساس داده های جلسات ردیابی محاسبه می کند.
useEffect
توضیحات: تابع readData را بر روی کامپوننت برای واکشی داده های ردیابی فراخوانی می کند.
صفحه فعالیت
توابع
toggleShow1
توضیحات: قابلیت مشاهده منوی کشویی را برای انتخاب سال تغییر می دهد.
toggleShow2
توضیحات: قابلیت مشاهده منوی کشویی را برای انتخاب ماه تغییر می دهد.
toggleShow3
توضیحات: قابلیت مشاهده منوی کشویی را برای انتخاب روز تغییر می دهد.
setDay
توضیحات: روز انتخابی را برای مشاهده داده های فعالیت تنظیم می کند.
تنظیم ماه
توضیحات: ماه انتخابی را برای مشاهده داده های فعالیت تنظیم می کند.
مجموعه سال
توضیحات: سال انتخابی را برای مشاهده داده های فعالیت تنظیم می کند.
صفحه نمایه
توابع
getToken
توضیحات: کد احراز هویت کاربر را از AsyncStorage واکشی می کند.
toggleIsLogin
توضیحات: وضعیت ورود کاربر را تغییر می دهد.
toggleUserLoginStatus
توضیحات: وضعیت ورود کاربر را تغییر می دهد و AsyncStorage را بر اساس آن به روز می کند.
تاریخ بهروزرسانی
۱۳ اسفند ۱۴۰۴