Πίσω στο Portfolio
kaloni.gr — Δίγλωσσο E-Commerce Υποδημάτων σε Laravel

kaloni.gr — Δίγλωσσο E-Commerce Υποδημάτων σε Laravel

Σχεδιάσαμε και αναπτύξαμε το kaloni.gr, ένα δίγλωσσο (Ελληνικά/Αγγλικά) e-commerce σε Laravel 12 για ένα brand γυναικείων υποδημάτων με έδρα τις Σέρρες. Το κατάστημα υποστηρίζει παραλλαγές προϊόντων (μέγεθος + χρώμα), galleries με φιλτράρισμα χρώματος, λίστα επιθυμιών (session για επισκέπτες, DB για συνδεδεμένους χρήστες με συγχώνευση στη σύνδεση), πρόσφατα προβεβλημένα προϊόντα, αναζήτηση με autocomplete και ανίχνευση ζώνης αποστολής σε πραγματικό χρόνο. Οι πληρωμές χρησιμοποιούν μια αφαίρεση gateway-agnostic (PaymentGatewayInterface με αποτελέσματα σε DTO) που υποστηρίζει Stripe 3DS, Cardlink hosted-redirect με επαλήθευση HMAC-SHA256 digest, τραπεζική μεταφορά, αντικαταβολή και πληρωμή κατά την παραλαβή. Το admin panel καλύπτει προϊόντα/παραλλαγές/κατηγορίες, κουπόνια, ζώνες αποστολής, κύκλο ζωής παραγγελιών και μεταβάσεις κατάστασης πληρωμής, μετριασμό κριτικών, εγγραφές newsletter και ειδοποιήσεις διαθεσιμότητας, διαχείριση πελατών με GDPR αυτο-διαγραφή (ανωνυμοποίηση ή πλήρης διαγραφή) και activity logging. Το δίγλωσσο περιεχόμενο χρησιμοποιεί ειδικούς πίνακες *_translations με έξυπνο fallback τοπικής γλώσσας (URL prefix → session → προτίμηση χρήστη → config), που τροφοδοτεί SEO-φιλικά /el/ και /en/ URLs με hreflang alternates και Organization/WebSite JSON-LD σε κάθε σελίδα. Οι εικόνες σερβίρονται μέσω Intervention Image v3 με responsive <picture> srcsets και WebP εκδόσεις· τα inline scripts είναι CSP-συμβατά μέσω Vite nonces· το GA4 e-commerce tracking (view_item, add_to_cart, purchase) ενεργοποιείται μόνο μετά από συναίνεση cookies. Η επιχειρηματική λογική είναι απομονωμένη σε 23 service classes για ένα API-ready υπόβαθρο.

Τεχνολογίες

Laravel 12 PHP 8.3 Alpine.js Custom CSS (BEM) MySQL Intervention Image v3 Stripe (3DS) Cardlink Laravel Breeze + Google OAuth Multilingual (el/en) JSON-LD / SEO Responsive Design GA4 E-commerce Vite

Προκλήσεις

Η κατασκευή ενός συστήματος πληρωμών πολλαπλών gateway που υποστηρίζει καθαρά τόσο σύγχρονες (αντικαταβολή, τραπεζική μεταφορά) όσο και ασύγχρονες ροές redirect (Stripe 3DS, Cardlink HMAC), διατηρώντας παράλληλα απλό το μοντέλο δίγλωσσου περιεχομένου και γρήγορο τον κατάλογο σε εκατοντάδες παραλλαγές προϊόντων.

Λύσεις

Σχεδιάσαμε ένα PaymentGatewayInterface με αποτελέσματα σε DTO ώστε κάθε gateway να εντάσσεται πίσω από το ίδιο API· χρησιμοποιήσαμε ειδικούς πίνακες *_translations με αλυσίδα fallback (URL prefix → session → προτίμηση χρήστη → config) ώστε η μετάφραση να ζει σε ένα μέρος ανά οντότητα· κάναμε cache responsive WebP εκδόσεις μέσω Intervention Image v3 και τις σερβίραμε μέσω <picture> srcset με ρητές διαστάσεις για αποτροπή CLS.