Clientul și contextul
theBitSmith (Bitsmith SRL) vinde online echipamente IT și PC-uri configurate la comandă, sub nume proprii ca BISON, FORGERY și MYTHIC. Restul catalogului vine de la NOD, unul dintre marii distribuitori de IT din România.
Magazinul trebuia să facă trei lucruri bine: să aibă mereu stocul și prețurile furnizorului, să lase clientul să-și configureze un PC fără piese incompatibile și să accepte plata în rate. Totul fără ca echipa să copieze manual date dintr-un program în altul.
Problema
Catalogul NOD are în jur de 31.000 de produse active. Stocul se schimbă de mai multe ori pe zi, iar prețurile în lei se recalculează zilnic din cursul valutar. Fără un prag, aproape trei sferturi din catalog și-ar fi schimbat prețul în fiecare noapte, cu zeci de mii de actualizări inutile.
A doua problemă era viteza. Pe vechiul hosting, prima pagină răspundea abia după 8,8–10,4 secunde, iar o pagină de categorie expira la 60 de secunde. Cauza nu era baza de date, ci felul în care site-ul cerea produsele: fiecare listare trăgea tot catalogul categoriei, sute de produse, și abia apoi îl sorta și îl tăia la 12.
Ce am construit
Un magazin pe Medusa v2, platformă de comerț open-source, cu site-ul în Next.js. Peste el, un admin făcut pe procesele theBitSmith: catalogul furnizorului, configuratorul, ratele, livrarea și documentele comenzii.
Catalogul furnizorului, sincronizat singur
Echipa alege din admin categoriile NOD pe care le vinde, iar produsele lor se importă singure, cu imagini, specificații și preț. Sincronizarea completă rulează de patru ori pe zi.
Diagramă de flux
Drumul unui produs, de la NOD la site
- Feedul NOD: tot catalogul activ, într-o singură cerere
- Se păstrează categoriile alese: din panoul NOD Catalog. Automat
- Prețul s-a schimbat destul?. Decizie
Nu: rămâne prețul vechi, ca fluctuațiile de curs să nu reprețuiască tot catalogul
- Stoc și preț în Medusa: produsele scoase din feed trec pe stoc zero. Automat
- Indexul de catalog: filtrele și sortarea, calculate o singură dată. Automat
- Site-ul se actualizează: doar paginile afectate. Automat
Configuratorul de PC-uri
Clientul alege piesele în ordine, de la procesor la sursă. La fiecare pas vede doar piesele compatibile cu ce a ales deja: socket, tipul de memorie, formatul plăcii de bază, înălțimea coolerului, lungimea plăcii video și puterea sursei. Regulile stau în atributele fiecărei componente, editabile din admin.
Comanda, de la plată la garanție
Pe pagina unei comenzi stau toate documentele ei: factura, certificatul de garanție, AWB-ul Sameday, opțiunile alese în configurator și plata în rate TBI. Statusul cererii de finanțare vine de la TBI, iar clientul primește un e-mail la fiecare pas.
Viteza
Am mutat filtrarea, sortarea și paginarea pe server, într-un index de catalog: o pagină de categorie face acum o singură cerere către backend, față de 4–10 înainte. Doar răspunsul pentru o categorie a scăzut de la 2,9 MB și 17 secunde la 32 KB și 0,35 secunde.
Apoi magazinul s-a mutat pe serverul clientului, cu un cache pentru paginile publice și cu joburile de sincronizare separate de site și de admin.
| Pagina | 20 septembrie 2026 | 23 octombrie 2026 |
|---|---|---|
| Prima pagină | 8,8–10,4 s | 0,12–0,14 s |
| O categorie (plăci de bază) | expirare la 60 s, apoi 21,5 s | 0,12–0,14 s |
| Sitemap-ul | 20,5 s | 0,8–1,3 s |
Ce n-a mers din prima
- Pe vechiul hosting, serviciile adormeau când nu aveau trafic, iar primul vizitator plătea pornirea la rece. Am mutat magazinul pe serverul clientului.
- Un script greu, rulat direct în containerul admin-ului, i-a consumat toată memoria și l-a oprit. De atunci, operațiile pe tot catalogul rulează într-un proces separat.
- Prețul calculat diferit la import și la sincronizare, cu o rotunjire în plus, a reprețuit o dată tot catalogul. Acum formula e aceeași în ambele locuri.
„Termenele au fost respectate, iar rezultatul final este exact ceea ce ne-am dorit.”
Întrebări frecvente
Pe ce platformă e construit theBitSmith?
Pe Medusa v2, o platformă de comerț open-source, cu site-ul în Next.js. Codul și datele magazinului sunt ale clientului; nu există comision din vânzări.
Unde rulează magazinul?
Pe serverul clientului, la Hetzner, administrat de e-data prin Coolify. Site-ul, admin-ul și joburile de sincronizare rulează separat, ca un import mare să nu încetinească magazinul.
Cât de des se actualizează stocul și prețurile de la NOD?
Sincronizarea completă rulează de patru ori pe zi, la 05, 11, 17 și 23. Un preț se schimbă doar dacă diferența trece de un prag procentual și de unul absolut, ca fluctuațiile mici de curs să nu reprețuiască tot catalogul în fiecare noapte.
Se poate plăti în rate?
Da, prin TBI Bank. Statusul cererii de finanțare ajunge în comandă, iar clientul primește un e-mail la fiecare pas al cererii.


