Sari la conținut
Studiu de caz

Hyperice Moldova

Un magazin online de echipamente pentru recuperare și wellness, construit pentru piața din Moldova — trei limbi, prețuri locale și un panou de administrare pe care magazinul îl folosește singur.

60de produse în catalog 3limbi ale vitrinei 72de articole publicate 332de teste automate
Ce am construit

Un magazin pe care proprietarul îl ține singur, nu unul pentru care trebuie să ne sune.

Vitrina

Catalog, filtre, căutare instantanee, coș și formular de comandă.

Conținut în trei limbi

Textul de pe nouă dintre paginile magazinului se editează din panoul de administrare, în română, rusă și engleză — fără niciun programator.

Panoul de administrare

Treisprezece ecrane, cu drepturi date acțiune cu acțiune: cine poate vedea, cine poate edita, cine poate șterge.

Comenzile

Coduri de reducere, carduri cadou, o chitanță PDF pe care magazinul o poate descărca și două e-mailuri automate la fiecare comandă.

Cum funcționează

Trei piese, și numai una dintre ele hotărăște un preț.

  1. 1

    Vitrina

    Ce vede clientul. Ea nu ține nimic la ea: produsele, prețurile și textele vin toate din piesa de mai jos.

  2. 2

    API-ul

    Ține catalogul, textele, comenzile și drepturile. E singurul care atinge baza de date și singurul care hotărăște un preț.

  3. 3

    Baza de date și cutia poștală

    Unde stau produsele și comenzile, și de unde pleacă cele două e-mailuri de comandă.

Coșul stă în browserul clientului, unde oricine îl poate modifica. De aceea serverul nu crede nimic din ce i se spune despre bani: când sosește o comandă, fiecare preț e citit din nou din baza de date.

Construit cu

Unelte obișnuite, ținute la zi.

În browser

Ce vede clientul se desenează pe ecranul lui, în oricare dintre cele trei limbi citește.

  • React 19
  • TypeScript
  • Tailwind CSS
  • i18next

Pe server

Un singur loc răspunde la fiecare cerere, verifică dacă are sens și e singurul care hotărăște un preț.

  • Node 20
  • Express 5
  • Zod

Datele

O singură bază de date ține catalogul, textele, articolele și fiecare comandă.

  • SQLite
  • Prisma

Verificat și livrat

Nimic nu ajunge în magazinul viu până nu trec testele, iar actualizarea în sine e automată.

  • Vitest
  • Docker
  • GitLab CI
  • nginx
Părțile grele

Unde s-a dus de fapt munca, și nimic din ea nu se vede pe ecran.

Prețurile se hotărăsc pe server

O comandă trimite doar ce produs și câte bucăți. Numele, prețul și totalul se recalculează din baza de date — deci o cerere măsluită nu cumpără nimic mai ieftin.

Trei limbi, până în adânc

Nu un fișier de traducere pus deasupra. Fiecare text din baza de date e păstrat în toate trei limbile deodată și servit în cea pe care o citește vizitatorul.

Drepturi pentru fiecare acțiune

Un rol poate avea voie să editeze fără să aibă voie să șteargă. Asta nu se poate spune cu o singură poartă la intrare, deci fiecare rută o poartă pe a ei.

Lucrarea

Circa 250 de ore de lucru, de la cap la coadă.

26 de zilede la primul commit la lansare

Vezi hyperice.md →

Contactează-ne

Ai o idee de proiect? Solicită o ofertă!

Ai un proiect? Scrie-ne dacă vrei să lucrăm împreună la ceva interesant. Sau ai nevoie de ajutorul nostru? Nu ezita să ne contactezi.