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.