تفاصيل العمل

Uber Clone

هو نموذج اولي لتطبيق موبايل لطلب سيارات الأجرة (Ride-hailing)، يحاكي أسلوب وتجربة "أوبر". تم بناء التطبيق بهندسة برمجية متطورة تضمن الأداء العالي والتتبع اللحظي للرحلات، مما يجعله جاهزاً لبيئات العمل الحقيقية (Production-Ready).

1. الواجهة الأمامية (Frontend Stack)

Framework: تم بناء التطبيق باستخدام React Native (Expo SDK 54) يعمل على أنظمة Android و iOS.

Navigation: استخدام أحدث إصدار من Expo Router 6 لإدارة التنقل والمسارات بشكل سلس ومنظم.

Styling: تصميم واجهات مستخدم عصرية ومتجاوبة بالاعتماد على NativeWind (TailwindCSS).

State Management: الاعتماد علىZustand لإدارة الحالة العامة للتطبيق (Global State)، إلى جانب Apollo Client 4 لإدارة البيانات القادمة من السيرفر.

Maps & Geocoding: دمج خرائط تفاعلية باستخدام react-native-maps مع ميزة الإكمال التلقائي للعناوين عبر واجهة OpenStreetMap Nominatim API.

2. بنية الـ Backend (Backend Architecture)

Server-side Framework: باستخدام NestJS .

API Architecture: استخدام GraphQL (Code-first approach) مع Apollo Server 5

Database: إدارة البيانات والعلاقات المعقدة عبر قاعدة بيانات PostgreSQL بالاعتماد على TypeORM .

Caching & PubSub: باستعمال Redis لزيادة سرعة الاستجابة، وإدارة الجلسات، عبر الـ PubSub.

3. الأمان وتخزين الملفات (Security & Storage)

Authentication: الاعتماد على Redis لإدارة الـ Refresh Tokens وتفعيل القائمة السوداء (Blacklist) لإبطال الجلسات.

Role-Based Access: نظام صلاحيات صارم يفرق بين العميل (Client) والسائق (Driver) لضمان أمان البيانات.

Cloud Storage: رفع وتخزين صور المركبات السحابي على منصة Cloudinary باستخدام تقنيات graphql-upload.

4. المميزات البرمجية (Core Functionalities)

التتبع اللحظي (Real-time Tracking): تتبع مسار الرحلة وتحديث حالتها فورياً (Requested, Accepted, In Progress, Completed) باستخدام GraphQL Subscriptions و WebSockets.

إدارة الرحلات (Ride Management): تمكين العميل من طلب الرحلات، تحديد مواقع الانطلاق والوصول، وحساب التكلفة. وتمكين السائق من قبول أو رفض الرحلات.

إدارة المركبات (Vehicle Management): واجهة مخصصة للسائقين لإضافة بيانات سياراتهم مع إمكانية التقاط الصور من الكاميرا أو المعرض ورفعها مباشرة.

نظام الإشعارات (Email System): استرجاع كلمة المرور عبر روابط آمنة تُرسل عبر البريد الإلكتروني باستخدام Nodemailer.

الأمان والحماية: تطبيق سياسات Rate Limiting لحماية السيرفر من الضغط، والتحقق الصارم من مدخلات المستخدمين (Validation & Sanitization).

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
3
تاريخ الإضافة
المهارات