Înapoi la proiecte
Site & CMS

Moment Photography

Deschide momentphotography.ro
Moment Photography

Moment Photography e site-ul unui studio de fotografie de nuntă. Era pe WordPress, cu ani de povești publicate, iar galeriile clienților stăteau pe un serviciu separat, plătit lunar. L-am reconstruit din temelii și am adus înăuntru și ce se plătea afară.

Ce am avut de rezolvat

Un fotograf are două nevoi care rar stau în același loc: un site care să arate bine și un spațiu în care clientul să-și vadă fotografiile, să le aleagă și să comande printuri. De obicei asta înseamnă două abonamente și două panouri de administrare, care nu știu unul de altul.

Peste asta, arhiva. Mii de fotografii și zeci de povești publicate de-a lungul anilor, la adrese pe care motoarele de căutare le știau deja. O reconstrucție care le pierde pierde și tot ce s-a adunat în ani.

Ce am construit

  • Site public bilingv, română și engleză — povești de nuntă, categorii de lucrări, pagini și formular de contact administrabil.
  • Galerii de client — fiecare cuplu primește un link cu parolă, își vede fotografiile, le marchează favorite și le descarcă într-o arhivă. Parola se verifică în timp constant, iar accesul stă într-un cookie pe care JavaScript-ul din pagină nu-l poate citi.
  • Magazin de printuri — fișă de prețuri cu produse și transport, coș, cupoane, comandă prin transfer bancar sau ramburs.
  • Panou de administrare croit pe nevoile unui fotograf — constructor de antet cu slideshow și previzualizare live, meniuri pe locații, categorii cu copertă și stare „în curând", legături sociale dintr-un singur loc.
  • Feed Instagram prin API-ul oficial, cu reîmprospătarea automată a tokenului — nu un widget străin lipit în pagină, care se strică atunci când se schimbă ceva la ei.
Pagina de povești: cele 23 de nunți publicate, în grilă

Migrarea, partea nevăzută

Din 6167 de fișiere aflate în vechea bibliotecă, doar 3238 erau folosite efectiv. Pe acelea le-am adus, păstrând structura pe an și lună, ca fiecare adresă veche de imagine să rămână valabilă. Sistemul de securitate al vechiului site bloca interfața de programare a WordPress-ului, dar nu și fișierele în sine, așa că descărcarea s-a făcut direct, pe opt fire, cu posibilitatea de a fi reluată de unde rămăsese.

Cele 23 de povești și-au păstrat adresele: fiecare legătură veche trimite acum, cu redirect permanent, la povestea ei. Nimic din ce indexase Google nu s-a pierdut pe drum.

O poveste de nuntă, cu fotografiile așezate pe toată lățimea paginii

Cum e construit

Next.js cu React 19 și TypeScript, cu datele în PostgreSQL prin Prisma și autentificare cu Auth.js. Fotografiile stau în Cloudflare R2, nu pe discul serverului, deci nu se pierd la nicio repunere în funcțiune. Găzduit pe Railway, cu DNS prin Cloudflare.

Site-ul rulează pe aceeași platformă de administrare pe care am construit-o pentru site-urile noastre, inclusiv pentru acesta pe care îl citești. Ce s-a construit aici a rămas disponibil pentru următorul proiect — și invers.

Unde e acum

Live la momentphotography.ro, cu 23 de povești publicate, 24 de colecții de galerie și peste 3200 de fotografii.