Email Tool / SaaS
MailGen (Wideview)
White-label email generator σε custom PHP MVC με API + plan για multi-tenant SaaS
v2.2.0 LIVE single-tenant, 5-phase migration plan για multi-tenant SaaS pending
Challenge
Τι έπρεπε να λυθεί
Wideview χρειαζόταν εργαλείο για ταχύτατη παραγωγή email signatures σε όλους τους employees, brand-consistent transactional templates για κάθε internal product (1ChatGo, Plannzy, social24, mysupport), και public API ώστε άλλα Wideview tools να ζητούν generated HTML χωρίς να ξανα-υλοποιηθεί η template logic. Ταυτόχρονα, ο code δεν έπρεπε να βασίζεται σε heavy framework γιατί τρέχει σε s1 shared (LiteSpeed).
Solution
Τι χτίσαμε
Custom PHP MVC χωρίς Laravel/Symfony overhead, Bootstrap 5 για admin UI, FontAwesome Pro Plus 7.2.0 για consistent icon set σε όλα τα generated templates. API endpoints με key-based auth, system info page για quick health check, 5-phase migration plan για να γίνει multi-tenant SaaS όταν είναι ώρα να βγει εκτός Wideview-internal use.
Custom Modules
Τι το κάνει διαφορετικό
Custom PHP MVC (όχι Laravel/Symfony)
Δικός μας router, controller, view layer. Loading time κάτω από 100ms σε s1 shared LiteSpeed, χωρίς opcache προ-warm. Composer μόνο για essentials (PHPMailer, dompdf για PDF preview).
Bootstrap 5 + FA Pro Plus 7.2.0
Admin UI σε Bootstrap 5 με dark mode toggle. FontAwesome Pro Plus 7.2.0 license-locked (npm + kit tokens documented στο memory) για consistent iconography σε όλα τα generated email templates ανεξάρτητα από email client capabilities.
Public API με key-based auth
Endpoints: `/api/v1/signature/generate`, `/api/v1/template/render`, `/api/v1/preview`. API key per consumer, rate limited στο IP + key combo. Documented σε `/api/docs` με curl examples.
System info dashboard
PHP version, opcache status, disk usage, queue depth, last error log entry. Quick triage όταν κάποιος Wideview brand βλέπει 500 σε email generation: μπαίνεις στο dashboard, βλέπεις αμέσως αν είναι MailGen issue ή downstream.
5-phase multi-tenant SaaS roadmap
Phase 1: tenant table + tenant_id σε όλα τα domain tables. Phase 2: signup flow + Stripe billing. Phase 3: per-tenant API keys + usage metering. Phase 4: white-label custom domains. Phase 5: enterprise SSO. Awaiting user signoff πριν ξεκινήσει Phase 1.
v2.2.0 με semantic versioning
Έκαστος release tagged, changelog στο repo. Updates σε production μέσω git pull + composer install (no Docker σε s1 shared). Rollback με git checkout σε προηγούμενο tag αν spike σε errors.
Live από production
Πώς δείχνει στην πράξη
Screenshots από το ζωντανό site. Τιμές, ονόματα πελατών και ευαίσθητα στοιχεία είναι μασκαρισμένα με skeleton blur ώστε να φαίνεται μόνο το functionality.

Mobile
Internal tool sign-in mobile, anchor logo branding

Desktop
Sign-in desktop, Powered by Wideview Entertainment footer
Tech Stack
Με τι χτίστηκε
Όλο το stack είναι τυποποιημένο. Δεν βασίζεται σε κρυφά παραμετροποιημένα plugins ή proprietary cloud services. Μπορεί να μεταφερθεί ή να συντηρηθεί από οποιαδήποτε ομάδα γνωρίζει το stack.
FAQ
Συχνές ερωτήσεις
Γιατί custom PHP MVC αντί για Laravel ή Symfony;
Το MailGen τρέχει σε s1 shared hosting με LiteSpeed. Laravel ή Symfony φέρνουν heavy framework overhead (boot time, memory, dependency injection) που σε shared environment μεταφράζεται σε αργό response time. Δικός μας MVC με δικό μας router, controller και view layer τρέχει κάτω από 100ms ακόμα και χωρίς opcache προ-warm. Composer μόνο για essentials (PHPMailer για SMTP, dompdf για PDF preview), οπότε deploy είναι γρήγορο και attack surface μικρό.
Έχει public API που μπορώ να καλέσω από το δικό μου εργαλείο;
Ναι. Endpoints: /api/v1/signature/generate (παράγει HTML email signature), /api/v1/template/render (render transactional template με variables), /api/v1/preview (preview HTML για inspection). API key per consumer, rate limited στο combo IP + key, documented σε /api/docs με curl examples. Έτσι internal Wideview tools καλούν τα ίδια endpoints χωρίς να ξανα-υλοποιείται η template logic.
Πότε γίνεται multi-tenant SaaS;
Έχει σχεδιαστεί 5-phase migration plan για multi-tenant SaaS, αλλά δεν έχει ξεκινήσει. Phase 1: tenant table + tenant_id σε όλα τα domain tables. Phase 2: signup flow + Stripe billing. Phase 3: per-tenant API keys + usage metering. Phase 4: white-label custom domains. Phase 5: enterprise SSO. Αυτή τη στιγμή τρέχει single-tenant για internal Wideview χρήση και περιμένει user signoff για να ξεκινήσει το Phase 1 build.
Πώς γίνεται debugging όταν εμφανιστεί 500 error στο email generation;
System info dashboard δίνει εικόνα PHP version, opcache status, disk usage, queue depth, και last error log entry. Αν κάποιος Wideview brand βλέπει 500 σε email generation, μπαίνεις στο dashboard και βλέπεις αμέσως αν το πρόβλημα είναι MailGen εσωτερικό ή downstream (πχ Mailgun API outage). Quick triage σε δευτερόλεπτα αντί για ωριαία αναζήτηση σε logs.
Πώς γίνονται updates χωρίς να σπάσει production;
Semantic versioning σε κάθε release, changelog στο repo. Updates σε production μέσω git pull + composer install (όχι Docker σε s1 shared LiteSpeed). Αν μετά από update εμφανιστεί spike σε errors, rollback γίνεται με git checkout σε προηγούμενο tag. Έτσι ένα bad release δε μένει live παραπάνω από όσο χρειάζεται για να ανοίξεις terminal.