פיתוח פורטל לוגיסטיקה עם מעקב ושילובים

לוגיסטיקה מפסידה כסף כשמטען יוצא מעין ומסמכים מעובדים ידנית. אנחנו מפתחים פורטל המאחד מעקב, חישוב עלויות ואינטגרציות 1C למערכת אחת. הצוות שלנו מספק את הפרויקט במפתח מלא—מביקורת תהליכים ועד השקה ותמיכה שוטפת—כך שתקבלו כלי אמין שגדל עם העסק שלכם.

פיתוח ותחזוקה של כל סוגי האתרים:

אתרי מידע או יישומי אינטרנט
אתרי תדמית, דפי נחיתה, אתרי חברה, קטלוגים מקוונים, חידונים, אתרי קידום, בלוגים, מקורות חדשות, פורטלי מידע, פורומים, אגרגטורים
אתרי מסחר אלקטרוני או יישומי אינטרנט
חנויות מקוונות, פורטלי B2B, שווקים, בורסות מקוונות, אתרי קאשבק, בורסות, פלטפורמות דרופשיפינג, מנתחי מוצרים
יישומי אינטרנט לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, פורטלים ארגוניים, מערכות ניהול ייצור, מנתחי מידע
אתרי שירות אלקטרוני או יישומי אינטרנט
פלטפורמות מודעות, בתי ספר מקוונים, בתי קולנוע מקוונים, בוני אתרים, פורטלים לשירותים אלקטרוניים, פלטפורמות אירוח וידאו, פורטלים נושאיים

אלה רק חלק מהסוגים הטכניים של אתרים שאנו עובדים איתם, ולכל אחד מהם יכולים להיות מאפיינים ופונקציונליות ספציפיים משלו, וכן ניתן להתאים אותם לצרכים ולמטרות הספציפיים של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
פיתוח פורטל לוגיסטיקה עם מעקב ושילובים
בינוני
~1-2 שבועות

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1501
  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1344
  • פיתוח אתר עבור BELFINGROUP
    פיתוח אתר עבור BELFINGROUP
    1052
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1306
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1049
  • פיתוח אתר לחברת FIXPER
    פיתוח אתר לחברת FIXPER
    1033

אנו מפתחים פורטלים לחברות לוגיסטיקה — לא רק אתרים עם טופס פנייה, אלא כלי עבודה מלאים לניהול הובלות. דרך פורטל כזה, לקוחות עוקבים אחר מטען בזמן אמת, דיספאצ'רים מקצים רכבים, נהגים מקבלים מסלולים, וחשבונאות מייצאת שטרי מטען. כל תפקיד מקבל ממשק מותאם אישית עם בקרת גישה. בעיות טיפוסיות: מטען שאבד עקב חוסר מעקב, תכנון מסלולים לא יעיל, הזנת מסמכים ידנית וחוסר שקיפות ללקוחות. אנו פותרים אותן עם רכבי GPS, אוטומציה של זרימת מסמכים ומערכת תעריפים גמישה. הניסיון שלנו — 5+ שנים ויותר מ-30 פרויקטים שהושלמו לתעשיית התחבורה, חיסכון ממוצע בעלויות תפעול לאחר היישום — 15–25% (לדוגמה, לקוח חסך $18k–26k בשנה לאחר השקת פורטל מלא בעלות של $22k–32k).

מודולים פונקציונליים של הפורטל

פורטל טיפוסי לחברת תחבורה ולוגיסטיקה מורכב מכמה מודולים עצמאיים שמתחברים דרך מסד נתונים משותף ו-API.

חשבון אישי ללקוח — רישום, היסטוריית הזמנות, סטטוס משלוח עדכני, מסמכים (CMR, TTH, חשבוניות), בקשת הובלה חדשה. הלקוח רואה רק את הנתונים שלו.

פאנל דיספאצ'ר — בקשות נכנסות, הקצאת נהגים ורכבים, מעקב מיקום בזמן אמת על מפה, שינויי סטטוס, צ'אט עם נהג.

אפליקציית נהג לנייד (או PWA) — הזמנה נוכחית, מסלול, שינויי סטטוס (נאסף/בדרך/נמסר), צילום תמונה במסירה, חתימת מקבל על המסך.

פאנל אדמין — ניהול ספריות (ערים, תעריפים, סוגי רכבים), דוחות, ניהול משתמשים.

מדוע מעקב מטען הוא הבסיס לפורטל מודרני?

מיקום רכב בזמן אמת הוא אחד המרכיבים המרכזיים. ישנן כמה גישות:

רכבי GPS עם שרת מותאם אישית. מכשירים כמו Teltonika FMB920 שולחים קואורדינטות דרך פרוטוקול MQTT או דרך שרת TCP ייעודי. נתונים מגיעים כל 30–60 שניות — זה פי 3 יותר תכוף מעדכונים טיפוסיים של אפליקציות ניידות:

# Пример обработки входящих данных с GPS-трекера через MQTT
import paho.mqtt.client as mqtt
import json
from datetime import datetime

def on_message(client, userdata, message):
    data = json.loads(message.payload.decode())
    vehicle_id = data['device_id']
    lat = data['lat']
    lng = data['lng']
    speed = data['speed']
    ts = datetime.fromtimestamp(data['timestamp'])

    # Сохраняем в TimescaleDB (PostgreSQL с расширением для временных рядов)
    db.execute("""
        INSERT INTO vehicle_positions (vehicle_id, lat, lng, speed, recorded_at)
        VALUES (%s, %s, %s, %s, %s)
    """, (vehicle_id, lat, lng, speed, ts))

    # Публикуем в Redis для real-time обновлений на карте
    redis.publish(f'vehicle:{vehicle_id}', json.dumps({
        'lat': lat,
        'lng': lng,
        'speed': speed
    }))

אפליקציה ניידת עם גיאולוקציה. הנהג מפעיל מעקב דרך דפדפן או אפליקציה. זול יותר בתשתית אך תלוי בסוללת הטלפון ובחיבור האינטרנט.

אינטגרציה עם מערכות חיצוניות. Yandex.Transport, Wialon, Omnicomm — פלטפורמות ניטור מוכנות עם API.

שיטה תשתית אמינות עלות יישום
רכבי GPS שרת מותאם אישית + MQTT גבוהה (מודול עצמאי) בינונית (מכשירים + אחסון)
אפליקציה ניידת ללא שרת טלמטיקה תלוי במכשיר נמוכה
פלטפורמות חיצוניות מפתח API גבוהה (תמיכת ספק) מנוי חודשי

כיצד אנו מיישמים מפה בזמן אמת?

להצגת מיקומים, אנו משתמשים ב-WebSocket — השרת דוחף עדכונים ללקוח ללא שאילתות (50% פחות השהיה מ-REST):

// Фронтенд: подключение к WebSocket и обновление маркеров на карте
const socket = new WebSocket('wss://api.example.com/ws/dispatch');
socket.addEventListener('message', (event) => {
  const { vehicleId, lat, lng, speed, status } = JSON.parse(event.data);
  if (markers[vehicleId]) {
    markers[vehicleId].setLatLng([lat, lng]);
    markers[vehicleId].setPopupContent(
      `<b>${vehicleId}</b><br>Скорость: ${speed} км/ч<br>Статус: ${status}`
    );
  } else {
    markers[vehicleId] = L.marker([lat, lng])
      .addTo(map)
      .bindPopup(`<b>${vehicleId}</b>`);
  }
});

למפה — Leaflet עם אריחים מ-OpenStreetMap (חינם) או Yandex.Maps / Google Maps (בתשלום אך גיאוקודינג טוב יותר לחבר העמים).

מה כלול בעבודה?

  • תיעוד טכני: תיאור ארכיטקטורה, דיאגרמות UML, מפרט API.
  • מאגר מוגדר עם CI/CD (GitLab CI, GitHub Actions).
  • גישה לסביבת staging לבדיקות קבלה.
  • הדרכת צוות הלקוח לשימוש בפורטל (לפחות 2 מפגשים).
  • תמיכה טכנית לחודש לאחר ההשקה, עם זמן תגובה מובטח של 4 שעות.

חישוב עלות הובלה

תעריפים בחברות לוגיסטיקה יכולים להיות מורכבים: תלוי במשקל, נפח, מרחק, סוג מטען, דחיפות, ביטוח. מומלץ להוציא את הלוגיקה לשירות נפרד:

class FreightCalculator {
    public function calculate(FreightRequest $request): FreightQuote {
        $distance = $this->distanceMatrix->calculate(
            $request->originCity,
            $request->destinationCity
        );
        $baseRate = $this->rateRepository->findRate(
            $request->cargoType,
            $request->vehicleType,
            $distance->zone
        );
        $weightCharge = max($request->weight, $request->volumetricWeight()) * $baseRate->perKg;
        $distanceCharge = $distance->km * $baseRate->perKm;
        $insurance = $request->declaredValue * 0.002; // 0.2%
        $total = ($weightCharge + $distanceCharge + $insurance) * $request->urgencyMultiplier() * $this->seasonalCoefficient();
        return new FreightQuote(
            base: $weightCharge + $distanceCharge,
            insurance: $insurance,
            total: round($total, 2),
            currency: 'USD',
            validUntil: now()->addHours(24),
        );
    }
}

זרימת מסמכים

שטר מטען, CMR, קבלת שילוח — כל זה צריך להיווצר אוטומטית מנתוני ההזמנה. אנו משתמשים בספריות כמו TCPDF או Snappy (wkhtmltopdf) ל-PHP, או Puppeteer ל-Node.js.

חתימת המקבל נאספת דרך Canvas API בדפדפן ונשמרת כתמונה המצורפת לשטר המטען:

const canvas = document.getElementById('signature-pad');
const signaturePad = new SignaturePad(canvas, {
  backgroundColor: 'rgb(255, 255, 255)',
  penColor: 'rgb(0, 0, 0)',
});
document.getElementById('save-signature').addEventListener('click', () => {
  if (!signaturePad.isEmpty()) {
    const dataUrl = signaturePad.toDataURL('image/png');
    // Отправляем на сервер вместе с подтверждением доставки
    fetch('/api/deliveries/' + deliveryId + '/confirm', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({
        signature: dataUrl,
        confirmed_at: new Date().toISOString()
      }),
    });
  }
});

אינטגרציות עם מערכות חיצוניות

פורטל לוגיסטי rarely חי בבידוד. אינטגרציות טיפוסיות:

  • 1C — ייצוא שטרי מטען, סנכרון צדדים, טעינת תשלומים
  • Diadoc / SBIS — זרימת מסמכים אלקטרונית, חתימת מסמכים בחתימה דיגיטלית
  • בורסות תחבורה (ATI.SU, Deliver) — פרסום אוטומטי של בקשות הובלה
  • חברות ביטוח — ביטוח מטען דרך API

מדריך שלב אחר שלב: כיצד אנו משיקים אינטגרציה עם 1C

  1. ניתוח — אנו לומדים מסמכים ופרטים נוכחיים, מסכימים על פורמטי החלפה (XML, JSON).
  2. פיתוח — אנו כותבים מודול סנכרון בצד הפורטל, מגדירים ייצוא של צדדים והזמנות.
  3. בדיקות — אנו בודקים נכונות נתונים על מסד נתונים 1C לבדיקה, מתקנים שגיאות.
  4. פריסה — אנו משיקים במצב רקע, עוקבים אחר לוגים.
  5. תמיכה — תוך חודש מההשקה, אנו מתקנים בעיות ומכשירים רואי חשבון.

ביצועים בקנה מידה

הערה: כאשר למערכת יש אלפי משלוחים פעילים, שאילתות מסד נתונים נאיביות מתחילות להאט. כמה פתרונות ספציפיים:

אינדקסים גיאו-מרחביים ב-PostgreSQL עם הרחבת PostGIS:

CREATE INDEX idx_vehicle_positions_location ON vehicle_positions USING GIST (ST_SetSRID(ST_MakePoint(lng, lat), 4326));
-- Выборка всех машин в радиусе 50 км от точки
SELECT vehicle_id, lat, lng
FROM vehicle_positions vp
JOIN (
    SELECT vehicle_id, MAX(recorded_at) as last_seen
    FROM vehicle_positions
    GROUP BY vehicle_id
) latest ON vp.vehicle_id = latest.vehicle_id AND vp.recorded_at = latest.last_seen
WHERE ST_DWithin(
    ST_SetSRID(ST_MakePoint(lng, lat), 4326)::geography,
    ST_SetSRID(ST_MakePoint(37.6173, 55.7558), 4326)::geography,
    50000
);

חלוקת טבלת המיקומים לפי תאריך — לאחר חודש, נתונים מאורכבים ואינם מפריעים לשאילתות עיקריות.

לוחות זמנים ושלבי פיתוח

שלב משך תוצאה
ניתוח ועיצוב 1–2 שבועות TOR, ארכיטקטורה, אב טיפוס UI
יישום MVP 6–8 שבועות חשבון אישי, מעקב, מסמכים
מערכת מלאה 4–6 חודשים כל המודולים, אינטגרציות, הדרכה
התקציב לפרויקט כזה נע בדרך כלל בין $10k–50k בהתאם לפונקציונליות. קבלו ייעוץ על ארכיטקטורת הפורטל — צרו קשר כדי לדון בפרויקט שלכם.
רשימת בדיקה להשקת פורטל - בדוק אינטגרציה עם רכבי GPS (WebSocket עובד). - בדוק תרחישים: לקוח → דיספאצ'ר → נהג → חתימת מקבל. - בדיקת עומס עם 1000+ מסלולים במקביל. - הדרכת צוות (לפחות 2 מפגשים). - ניטור שגיאות דרך Sentry או דומה.

אמנת החוזה להובלת סחורות בינלאומית בדרכים (CMR) — דרישות בסיסיות לשטרי מטען.