Πίσω στο Portfolio
Η αρχική σελίδα του ePantry: μια κεραμιδί μπάρα με τη διεύθυνση email και εικονίδια κοινωνικών δικτύων, το λογότυπο ePantry, ένα πεδίο αναζήτησης προϊόντων, σύνδεσμοι για Best Sellers, New Arrivals, Offers και Coupons και εικονίδια για ήχο, γλώσσα, αγαπημένα, καλάθι και λογαριασμό, και μια σειρά κατηγοριών από Flour έως Rice που συνεχίζει πέρα από τη δεξιά άκρη· από κάτω η ετικέτα «Kerkini, Serres», ο τίτλος «Food with a name and a place» με το δεύτερο μισό σε κεραμιδί, μια σύντομη εισαγωγή, ένα γεμάτο κουμπί «Browse all products» και ένα περιγραμμένο «Meet the producers», και αριθμοί για 132 προϊόντα στο ράφι, δωρεάν αποστολή από 30,00 € και παράδοση σε 1–3 ημέρες, δίπλα σε ένα πλαίσιο με τρία προϊόντα: ένα μπουκάλι κέτσαπ, ένα βάζο τσατσιμπέλι και ένα μπουκάλι μουστάρδα· πιο κάτω ξεκινά ο τίτλος «What are you after?».
Άνοιγμα του epantry.gr σε νέα καρτέλα

ePantry — Ελληνικό Παντοπωλείο, Ξαναχτισμένο από το WooCommerce σε Laravel

Επισκόπηση

Το ePantry πουλά τρόφιμα με όνομα και τόπο: όσπρια, ζυμαρικά, αλεύρια, βότανα, σάλτσες και μέλι από δώδεκα αγροκτήματα και εργαστήρια της Βόρειας Ελλάδας, με αποστολή από την Κερκίνη. Το παλιό κατάστημα λειτουργούσε σε WordPress και WooCommerce. Αντικαταστάθηκε από μια βιτρίνα σε Laravel 12, σχεδιασμένη από την αρχή, που λειτουργεί από τις 8 Σεπτεμβρίου 2026, με τον κατάλογο, τις κατηγορίες, το περιεχόμενο, το ιστορικό παραγγελιών και τις ρυθμίσεις του καταστήματος μεταφερμένα από τη βάση του WooCommerce, ώστε να μη χαθεί τίποτα απ' όσα χρειάζονταν οι πελάτες και το κατάστημα.

Ο σχεδιασμός παίρνει την ιδέα του από το ράφι του κελαριού. Οι φωτογραφίες των προϊόντων είναι αποκομμένες συσκευασίες σε λευκό φόντο, γι' αυτό η διεπαφή μένει ήσυχη από κάτω τους: λευκό φόντο, ένα συνεχές λεπτό πλέγμα αντί για αιωρούμενες κάρτες, ένα μόνο χρώμα έμφασης. Κάθε κάρτα προϊόντος, σελίδα προϊόντος και γραμμή καλαθιού φέρει μια ετικέτα ραφιού με το καθαρό βάρος, την τιμή ανά κιλό ή λίτρο, τον παραγωγό και την περιοχή. Οι παραγωγοί έχουν τις δικές τους σελίδες, το παλιό ιστολόγιο συνεχίζει ως ημερολόγιο με συνταγές και οδηγούς για το κελάρι, και το κατάστημα δέχεται αντικαταβολή ή κατάθεση σε μία από τρεις τράπεζες, ώστε οι πελάτες να πληρώνουν χωρίς προμήθεια μεταφοράς.

Προκλήσεις

Μια ανακατασκευή πρέπει να κρατήσει όλα όσα ήδη λειτουργούν: 238 προϊόντα με τις φωτογραφίες, τις κατηγορίες και τις ρυθμίσεις αποθέματός τους, το ιστολόγιο, το ιστορικό παραγγελιών και κάθε ρύθμιση που είχε τελειοποιηθεί με τα χρόνια, μεταφερμένα από το WooCommerce χωρίς κενά. Ορισμένα από τα παλιά δεδομένα θα χαλούσαν το νέο κατάστημα αν αντιγράφονταν κατά λέξη — προϊόντα χωρίς καταμέτρηση αποθέματος, πρόχειρα, ένας κανόνας χαμηλού αποθέματος που θα σήμαινε ολόκληρο τον κατάλογο. Και ένα παντοπωλείο έχει τους δικούς του κανόνες: τα προσυσκευασμένα τρόφιμα που πωλούνται με το βάρος πρέπει να δείχνουν την τιμή ανά κιλό, τα ελληνικά κεφαλαία χάνουν τους τόνους τους, και το τερακότα της μάρκας, με αντίθεση 3,96:1 σε λευκό, είναι πολύ ανοιχτό για να μεταφέρει κείμενο.

Λύσεις

Εντολές εισαγωγής διαβάζουν απευθείας τη βάση του WooCommerce και την αντιστοιχίζουν στο νέο σχήμα — προϊόντα, κατηγορίες, παραγωγούς, εικόνες, άρθρα, παραγγελίες και ρυθμίσεις, το καθένα με το παλιό του αναγνωριστικό για ιχνηλασιμότητα — και μεταφράζουν τις ιδιαιτερότητες του παλιού καταστήματος αντί να τις αντιγράψουν: το απόθεμα χωρίς καταμέτρηση μένει διαθέσιμο, τα πρόχειρα μένουν πρόχειρα, το όριο χαμηλού αποθέματος μένει στα δύο. Η ετικέτα ραφιού βάζει την τιμή μονάδας δίπλα σε κάθε τιμή πώλησης, όπως ορίζει η ελληνική νομοθεσία. Μια σκουρότερη απόχρωση του χρώματος της μάρκας μεταφέρει όλο το κείμενο, και τα ελληνικά γράφονται με πεζά και γίνονται κεφαλαία μέσω CSS ώστε οι τόνοι να πέφτουν σωστά, κάτι που ελέγχεται με τεστ. Η κίνηση είναι μία ακολουθία GSAP και διακριτικές εμφανίσεις στην κύλιση, και ο προαιρετικός ήχος δεν ξεκινά ποτέ αν δεν τον ζητήσει κανείς. Οι σελίδες προϊόντων, παραγωγών και συνταγών φέρουν δομημένα δεδομένα, και το llms.txt του καταστήματος παράγεται από τη βάση, ώστε το όριο δωρεάν αποστολής που αναφέρει να μην μπορεί πια να μείνει ξεπερασμένο.