The Delivery Hub App

TheDeliveryHub – Τεχνική Παρουσίαση Έργου

Σύνοψη Έργου

Το TheDeliveryHub είναι μία full-stack πλατφόρμα διαχείρισης παραδόσεων (Delivery Management System), σχεδιασμένη για να καλύπτει end-to-end τη ροή παραγγελιών: από τη δημιουργία τους από τον πελάτη, μέχρι την ανάθεση σε οδηγούς και την τελική παράδοση, με ξεχωριστές διεπαφές για Admin, Client και Driver.

Στόχοι & Απαιτήσεις

  • Ενοποιημένη διαχείριση πελατών, οδηγών και παραγγελιών σε μία πλατφόρμα.
  • Πλήρης παρακολούθηση του lifecycle της παραγγελίας σε πραγματικό χρόνο.
  • Υποστήριξη πολλαπλών ρόλων με role-based access control και ξεχωριστά subdomains.
  • Παραγωγικό περιβάλλον με έμφαση σε ασφάλεια, αξιοπιστία και υψηλή απόδοση.
  • Πλούσια στατιστικά και αναφορές για λήψη αποφάσεων (admin, clients, drivers).

Αρχιτεκτονική & Τεχνολογίες

  • Backend: Python 3.12 με FastAPI, SQLAlchemy ORM και SQLite ως παραγωγική βάση δεδομένων.
  • Frontend: HTML5 templates με Jinja2, CSS3 (responsive, mobile-first) και vanilla JavaScript (ES6+).
  • Web Server / Runtime: Nginx ως reverse proxy, Gunicorn + Uvicorn (17 workers) ως ASGI app server, deployment σε Linux (Ubuntu) με systemd service.
  • Αρχιτεκτονική ρόλων: ξεχωριστά subdomains admin.thedeliveryhub.gr, client.thedeliveryhub.gr, driver.thedeliveryhub.gr για καθαρό διαχωρισμό interfaces.
  • Μέγεθος κώδικα: 4.000+ γραμμές Python backend, 39 HTML templates, ~2.000 γραμμές CSS, ~1.500 γραμμές JavaScript, 80+ routes / endpoints.

Ρόλοι Χρηστών & Λειτουργικότητα

Admin – Κεντρική Διαχείριση

  • Real-time dashboard με παραγγελίες, auto-refresh ανά 15s και ηχητικές ειδοποιήσεις.
  • Πλήρης CRUD διαχείριση σε πελάτες, οδηγούς, παραγγελίες.
  • Ανάθεση οδηγών, αλλαγή κατάστασης παραγγελίας (Αναμονή → Σε Παράδοση → Ολοκληρώθηκε).
  • Ενοποίηση με Google Maps για διευθύνσεις & πλοήγηση.
  • Reports & analytics με φίλτρα (ημέρες, πελάτες, οδηγούς) και PDF export.
  • Σύστημα database backup/restore με timestamped αρχεία.

Client – Πύλη Παραγγελιών

  • Δημιουργία παραγγελιών μέσω απλής φόρμας (στοιχεία πελάτη, διεύθυνση, λεπτομέρειες, τιμή).
  • Smart auto-fill με βάση το τηλέφωνο & προηγούμενες παραγγελίες.
  • Ιστορικό παραγγελιών με φίλτρα, αναζήτηση, σελιδοποίηση και συνολικά έσοδα.
  • Dashboard με στατιστικά (σύνολο, completed, pending, revenue, μέση αξία, charts).
  • Διαχείριση προφίλ επιχείρησης και αλλαγή κωδικού πρόσβασης.

Driver – Εφαρμογή Οδηγού

  • Dashboard με συνολικές παραδόσεις, ενεργές παραγγελίες, κέρδη (15% προμήθεια) & KPIs.
  • Λίστα ενεργών παραγγελιών με click-to-call & σύνδεσμο πλοήγησης σε Google Maps.
  • One-click ενημέρωση κατάστασης παραγγελίας (Σε Παράδοση / Ολοκληρώθηκε).
  • Auto-refresh, ηχητικές ειδοποιήσεις και visual counters για νέες παραγγελίες.
  • Πλήρες ιστορικό παραδόσεων με φίλτρα + συγκεντρωτικά στατιστικά.
  • Διαχείριση προσωπικού προφίλ, στοιχείων οχήματος και διαθεσιμότητας (Active/Inactive).

Μοντέλο Δεδομένων & API

  • Clients: επιχειρήσεις με στοιχεία επικοινωνίας, τύπο δραστηριότητας (ξενοδοχεία, εστιατόρια κ.λπ.), login credentials και συσχέτιση με παραγγελίες.
  • Drivers: οδηγοί με προσωπικά στοιχεία, στοιχεία οχήματος, status διαθεσιμότητας, GPS πεδία και session tokens.
  • Orders: παραγγελίες με client/driver συσχέτιση, πλήρη στοιχεία πελάτη, τιμή, κατάσταση και timestamps.
  • Admins: λογαριασμοί διαχειριστών με ασφαλή credentials.
  • RESTful endpoints για admin / client / driver (80+ routes) με ξεκάθαρο separation ανά ρόλο και λειτουργικότητα (dashboard data, history, statistics, status updates, reports κ.λπ.).

Ασφάλεια & Διαχείριση Συνεδριών

  • Password hashing με PBKDF2-SHA256 (salted, πολλαπλά iterations – χωρίς ποτέ plain text).
  • Session tokens αποθηκευμένα στη βάση, με λήξη (π.χ. 7 ημέρες για drivers) και αυτόματο cleanup.
  • Role-based access control με σαφή διαχωρισμό δικαιωμάτων: admin, client, driver.
  • Middleware για έλεγχο sessions σε κάθε request, redirects σε login σε περίπτωση μη εξουσιοδοτημένης πρόσβασης.
  • HTTPS, ασφαλής χειρισμός cookies και βασική CSRF προστασία μέσω session tokens.

DevOps, Monitoring & Απόδοση

  • Deployment σε Ubuntu server με Nginx reverse proxy & Gunicorn/Uvicorn workers.
  • Systemd service για auto-start, restart on failure και κεντρικό logging.
  • Access/error logs + application logging (DEBUG σε dev, production-ready config).
  • Ρυθμίσεις για timeouts, max-requests, keep-alive και static file caching.
  • Σύστημα backup/restore βάσης δεδομένων με timestamped αρχεία.

Key Features & Μοναδικά Σημεία

  • Multi-role πλατφόρμα με 3 πλήρως ανεξάρτητα interfaces (admin/client/driver).
  • Real-time εμπειρία με auto-refresh, sound notifications και live counters.
  • Subdomain αρχιτεκτονική για καθαρό διαχωρισμό ρόλων σε επίπεδο URL.
  • Smart auto-fill σε φόρμες πελάτη με βάση ιστορικό παραγγελιών.
  • PDF report generation για λογιστικά/εμπορικά reports (admin & drivers).
  • Production-ready setup με πλήρη DevOps ρύθμιση, monitoring και backups.

Συμπέρασμα

Το TheDeliveryHub αποτελεί μια ολοκληρωμένη, production-ready πλατφόρμα διαχείρισης παραδόσεων, με σύγχρονη αρχιτεκτονική FastAPI, ισχυρή ασφάλεια, real-time δυνατότητες και σαφή διαχωρισμό ρόλων. Η εφαρμογή καλύπτει πλήρως τις ανάγκες admin, επιχειρήσεων και οδηγών, προσφέροντας παράλληλα εργαλεία analytics, reporting και επεκτάσιμη υποδομή για μελλοντικά features.