Πίσω στο Portfolio
FitRoom Experience — Ιστοσελίδα Γυμναστηρίου & Πλατφόρμα Συνδρομών

FitRoom Experience — Ιστοσελίδα Γυμναστηρίου & Πλατφόρμα Συνδρομών

Το FitRoom Experience χρειαζόταν δημόσιο πρόσωπο και το λογισμικό που τρέχει την επιχείρηση από πίσω, οπότε η ιστοσελίδα είναι και τα δύο. Το μπροστινό μέρος είναι μια δίγλωσση σελίδα — hero, έντεκα υπηρεσίες, το ζωντανό εβδομαδιαίο πρόγραμμα, ενότητα about και επικοινωνία — μαζί με σελίδα συνδρομών που φέρει είκοσι πακέτα και εννέα προσφορές από τον έντυπο τιμοκατάλογο της ιδιοκτήτριας. Πίσω από τη σύνδεση, η συνδρομήτρια εγγράφεται χωρίς να επιλέξει κωδικό, κλείνει από πρόγραμμα που προχωρά ένα ολόκληρο τρίμηνο, μπαίνει σε λίστα αναμονής όταν το μάθημα γεμίσει, ορίζει μία σταθερή εβδομαδιαία κράτηση που ανανεώνεται μόνη της, βλέπει τι έχει πληρώσει και τι οφείλει, και μπορεί να εξάγει ή να διαγράψει τα δεδομένα της. Η ιδιοκτήτρια έχει δεκαεπτά οθόνες back office: πελάτες, πακέτα, τύπους μαθημάτων, το πρόγραμμα, αργίες, προσφορές, περιεχόμενο σελίδων, συνδρομές, πληρωμές, οφειλές και την παλαίωσή τους, το παρουσιολόγιο, kiosk check-in για tablet στην πόρτα, αρχείο email με επαναποστολή, και στατιστικά — έσοδα, heatmap πληρότητας, προσέλευση ανά οικογένεια μαθημάτων, συνδρομές που λήγουν και εξαγωγή CSV. Δεκαεννέα πρότυπα email και στις δύο γλώσσες τρέχουν πάνω σε ενσωματωμένο PHPMailer με επαναλήψεις. Από κάτω είναι καθαρή PHP 8.5 σε MySQL με σαράντα τέσσερις πίνακες, με τα Ελληνικά ως κανονική γλώσσα: χωρίς framework, χωρίς Composer, χωρίς build step.

Τεχνολογίες

PHP 8.5 MySQL 9.5 Vanilla JS GSAP PHPMailer Stripe i18n (EL/EN) SEO

Προκλήσεις

Το πρόγραμμα ενός γυμναστηρίου δεν είναι ημερολόγιο. Ένα μάθημα έχει χωρητικότητα, λίστα αναμονής, credits που το πληρώνουν και μια αργία που μπορεί να το ακυρώσει, και η ιδιοκτήτρια τα χρειαζόταν όλα αυτά στη μία οθόνη που ήδη χρησιμοποιεί. Το γυμναστήριο είχε επίσης 158 μέλη στην προηγούμενη ιστοσελίδα που έπρεπε να μπορούν να συνδεθούν από την πρώτη μέρα.

Λύσεις

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