Παράκαμψη στο περιεχόμενο
← Όλα τα Case Studies

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

v2.2.0
Version
single-tenant LIVE
Custom MVC
Stack
no framework overhead
<100ms
Load time
s1 LiteSpeed
3
API endpoints
key-based auth
5 phases
Roadmap
multi-tenant SaaS
8 εβδομάδες (initial) + ongoing minor versions2025-2026

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

Τι το κάνει διαφορετικό

01

Custom PHP MVC (όχι Laravel/Symfony)

Δικός μας router, controller, view layer. Loading time κάτω από 100ms σε s1 shared LiteSpeed, χωρίς opcache προ-warm. Composer μόνο για essentials (PHPMailer, dompdf για PDF preview).

02

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.

03

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.

04

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.

05

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.

06

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.

MailGen panel login mobile με dark theme

Mobile

Internal tool sign-in mobile, anchor logo branding

MailGen panel login desktop με centered card

Desktop

Sign-in desktop, Powered by Wideview Entertainment footer

Tech Stack

Με τι χτίστηκε

Custom PHP MVCBootstrap 5FontAwesome Pro Plus 7.2.0PHPMailerdompdfMySQLLiteSpeed

Όλο το 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.

Παρόμοιο project σε εξέλιξη;

Αν χτίζεις κάτι παρόμοιο και ψάχνεις partner που να ξέρει το τεχνικό terrain, πες μας. 30λεπτη συζήτηση χωρίς δέσμευση.