Oglinda Clasică
Oglindă foto pentru evenimente, cu galerii și contracte online.
Ce am făcut
Site-ul, SEO-ul, sistemul de galerii, contractele online și grafica ramelor foto. Logo-ul exista; restul l-am construit în jurul lui.
Construit cuPHP 8 · JavaScript · HTML · CSS · JSON · GD / Imagick · WebP · tFPDF · MailerLite API · Schema.org
Contextul
Amintirile nu trebuie să expire.
Oglinda Clasică e o cabină foto în formă de oglindă, pe care Tipăresc Amintiri o duce la nunți, botezuri și evenimente din Constanța și de pe litoral. Invitații își fac poze și le primesc printate pe loc, într-o ramă făcută pentru evenimentul lor.
După eveniment, pozele plecau pe WeTransfer sau DigiStorage, iar contractele se scriau în Word și se semnau față în față. Am construit totul in-house: site-ul, SEO-ul, galeriile, contractele online și grafica ramelor. Logo-ul exista deja; restul l-am clădit în jurul lui.



Regula jocului
Totul pe un hosting ieftin.
Sistemul rulează pe un hosting partajat obișnuit, genul pe care îl plătește orice firmă mică: PHP, câțiva gigabytes și atât. Fără server dedicat, fără servicii plătite în plus, fără abonamente noi. Fiecare decizie de mai jos pleacă de aici.
- 01
Fișiere JSON, nu bază de date
în loc de
o bază de date MySQLO galerie înseamnă un fișier și un folder cu poze: se mută, se salvează și se refac ușor. Când urci zeci de poze deodată, scrierile trec pe rând, cu blocare de fișier, ca să nu se piardă nimic.
- 02
PHP simplu, fără framework
în loc de
Laravel, Node sau WordPressMerge pe orice hosting, de la PHP 7.4 la 8, fără pași de build. Urci fișierele și funcționează, iar lună de lună nu rămâne nimic de actualizat.
- 03
Pozele, procesate o singură dată
în loc de
imagini redimensionate la fiecare vizităLa urcare se fac miniatura și varianta pentru ecran, în WebP, întoarse corect după cum a fost ținut telefonul. Cu Imagick dacă hostingul îl are, altfel cu GD. Invitații încarcă repede, iar serverul nu muncește la fiecare vizită.
- 04
Arhiva ZIP, făcută în browser
în loc de
o arhivă construită pe server„Descarcă toate” strânge pozele și face arhiva direct pe telefonul sau calculatorul invitatului, fără compresie, pentru că JPG-urile sunt deja comprimate. Hostingul nu ține arhive mari și nu-și consumă procesorul pe ele.
- 05
Statistici proprii, fără cookie-uri
în loc de
Google AnalyticsNu se salvează adrese IP și nu se pune niciun cookie, deci site-ul n-are nevoie de banner. Se văd vizitele, de unde vin oamenii și cine deschide doar galeria; roboții și previzualizările de link nu se numără.
- 06
PDF generat pe server
în loc de
o platformă plătită de semnăturiContractul se generează cu o bibliotecă PHP, în același format ca vechiul contract din Word, cu semnătura și dovezile semnării la final. Fără abonament pentru fiecare contract semnat.
Site-ul
Un logo care exista deja, o lume în jurul lui.
Forma de arc a oglinzii se repetă peste tot: în fotografii, în carduri, în galerii. Chihlimbarul și maroul închis vin din logo, titlurile sunt în Cormorant Garamond, iar textul în Manrope. Prima pagină e un singur fișier static, așa că se încarcă repede chiar și pe un hosting ieftin.





SEO și recenzii
Găsită pe Google, recomandată de clienți.
SEO-ul n-a fost un strat pus la final, ci o parte din fiecare decizie: o pagină rapidă, texte scrise pentru ce caută oamenii din zonă și date structurate care îi spun lui Google exact ce e firma și unde ajunge. Apoi am construit partea care aduce recenziile singură. Rezultatul se vede în căutări.
- #1
- pe Google la căutările din zonă, de cele mai multe ori; altfel, în primele trei rezultate
- 5,0 ★
- nota firmei pe Google, din 15 recenzii
- ↑
- recenziile au crescut de când există site-ul și galeriile care le cer singure
- 01
Căutările din zonă
Titlul, descrierea și textele răspund la ce caută oamenii: „oglindă magică Constanța”, „cabină foto”, „video booth 360°”, „polaroid photobooth”.
- 02
Date structurate
Firma, cu orașele în care ajunge (Constanța, Mamaia, Năvodari, Eforie, Mangalia, Medgidia și tot județul), serviciile, întrebările frecvente și filmul de prezentare, descrise pentru Google.
- 03
Viteză
Prima pagină e un singur fișier static, iar imaginile de mai jos se încarcă doar când ajungi la ele, așa că pornește repede și pe telefon.
- 04
Search Console
Site-ul e verificat în Google Search Console, de unde se urmăresc căutările care aduc oameni pe site.
{
"@type": "LocalBusiness",
"name": "Oglinda Clasică",
"areaServed": ["Constanța", "Mamaia", "Năvodari",
"Eforie", "Mangalia", "Medgidia", "Județul Constanța"],
"hasOfferCatalog": { "itemListElement": [
"Închiriere oglindă magică",
"Video Booth 360° pentru evenimente",
"Polaroid Photobooth alb-negru" ] }
}Cum se strâng recenziile
Cel mai bun moment să ceri o recenzie e când omul tocmai și-a văzut pozele. Sistemul o face singur, de două ori, fără ca cineva să-și amintească să trimită un mesaj în plus.
- 1EvenimentulInvitații se pozează în oglindă, iar pozele ajung în galeria evenimentului.
- 2Mesajul de WhatsAppClientul primește linkul, codul și, în același mesaj, rugămintea pentru o recenzie. Linkul se adaugă singur, chiar dacă mesajul e rescris de mână.
- 3Cardul din galerieDupă poze, exact când invitații sunt cei mai bucuroși, galeria cere o recenzie pe Google, cu un singur buton.
- ★Recenzia, pe GoogleRecenziile întăresc profilul firmei în căutările din zonă, iar cele reale ajung și pe prima pagină a site-ului.


Grafica din oglindă
Fiecare eveniment, cu rama lui.
Fiecare poză iese din oglindă printată pe loc, la 10×15, într-o ramă desenată pentru evenimentul acela: numele, data și decorul potrivit, de la flori pentru o nuntă la baloane aurii pentru un majorat. Ramele sunt desenate de mine.








Printuri de la evenimente reale, publicate pe site-ul Oglinda Clasică.



Galeriile
Din oglindă, direct în telefon.
După eveniment, galeria se face din admin: urci pozele, le împarți pe albume dacă au fost mai multe cabine, alegi coperta și publici. Clientul primește pe WhatsApp un mesaj gata scris, cu linkul, codul de acces și rugămintea pentru o recenzie. Invitații deschid galeria, își găsesc pozele și le descarcă pe toate sau doar pe ale lor.
Încearcă galeria reală · Codul de acces, pentru demo: 2580 ·
Mesajul pentru client se scrie singur
Women In Charge Dobrogea — Galerie foto | Oglinda Clasicăoglindaclasica.roBună ziua! 😊 Vă trimitem galeria foto de la evenimentul „Women In Charge Dobrogea”. 📸 Puteți vedea și descărca fotografiile aici: oglindaclasica.ro/galerie/women-in-charge-dobrogea/ 🔐 Cod de acces: 2580 ⭐ Dacă v-au plăcut fotografiile, ne-ar bucura mult o recenzie pe Google — durează doar un minut.
Și linkul arată bine când e trimis
Pentru fiecare galerie, sistemul compune o singură dată imaginea de previzualizare: coperta în prim-plan, pe un fundal estompat, cu logo-ul alături. Pe WhatsApp, linkul se recunoaște din prima.
Pozele nu stau în folderul public al site-ului. Fiecare cerere trece printr-un filtru care verifică codul sau sesiunea de admin, așa că nimeni nu ajunge la ele ghicind o adresă.
Pagina reală a galeriei Women In Charge Dobrogea, exportată din sistem, cu scriptul ei original; codul e schimbat pentru demo, iar WhatsApp, telefonul și recenziile sunt oprite. Rama de pe printuri e desenată pentru eveniment.
Contractele
Semnat de pe telefon, fără drumuri.
Înainte, fiecare contract se scria în Word și se semna față în față. Acum se face din admin, chiar de pe telefon: completezi clientul și evenimentul, bifezi pachetul, iar totalul, avansul și restul se calculează singure. Clientul primește linkul, citește contractul, cere un cod pe e-mail și semnează cu degetul. PDF-ul iese în formatul vechiului contract din Word, cu semnătura și dovezile semnării la final, și ajunge pe e-mail la amândoi.



Semnează și tu
Semnătura ta ajunge în PDF exact cum ajunge și a clientului.
Contract demonstrativ, cu date fictive.


Document semnat electronic. Confirmare prin cod unic trimis pe e-mail.
✓ Semnat. Așa apare semnătura în PDF.
Panoul
O seară întreagă, într-un singur loc.
Adminul merge la fel de bine pe telefon ca pe calculator, ca nimic să nu mai aștepte până ajungi la birou.










Capturi din sistemul real, rulat cu date fictive.
Sub capotă
Nimic în plus de întreținut.
Tot sistemul e PHP și JavaScript simplu: fără bază de date, fără framework, fără pași de build. Datele stau în fișiere JSON scrise sub blocare, ca două cereri care sosesc deodată să nu se calce una pe alta.
- Galerii cu cod de acces; pozele trec printr-un filtru, nu stau în folderul public
- Miniaturi și variante WebP, cu Imagick sau GD, după ce are hostingul
- Arhiva ZIP construită în browser, cu suma de control calculată în JavaScript
- Imaginea de previzualizare a fiecărei galerii, compusă pe server și păstrată
- Contracte cu cod pe e-mail, semnătură desenată și PDF generat cu tFPDF
- Abonări cu capcană pentru roboți, limită de cereri și coadă pentru MailerLite
- Statistici fără cookie-uri și fără adrese IP salvate
- Date structurate: LocalBusiness, FAQPage, VideoObject
function oc_json_update($file, callable $fn) { $fh = @fopen($file, 'c+b'); @flock($fh, LOCK_EX); // o singură scriere odată $s = stream_get_contents($fh); $data = $s !== '' ? json_decode($s, true) : array(); $nou = $fn($data); // modificarea, pe datele proaspete ftruncate($fh, 0); rewind($fh); fwrite($fh, json_encode($nou, JSON_PRETTY_PRINT)); @flock($fh, LOCK_UN); fclose($fh); return $nou; }
Designed & developed by Aba, as part of Tipăresc Amintiri.
Logo-ul Oglinda Clasică exista deja. Galeria Women In Charge Dobrogea e reală; contractele, abonații și celelalte galerii din capturi sunt fictive.
Următorul proiect
04