Comerciantii români se confruntă adesea cu dificultăți în găsirea unui stack e‑commerce headless care să funcționeze cu curierii locali, metodele de plată și cerințele de facturare.
Răspunsul este să folosiți Medusa împreună cu integrările gata făcute de CarphaCom, apoi să găzduiți soluția pe Vultr pentru performanță rapidă și scalabilă.
De ce să alegi Medusa pentru un magazin headless românesc
Open‑source, design orientat API
Medusa este lansată sub licența MIT și oferă un API REST/GraphQL complet documentat care izolează logica produselor, coșului și comenzilor de interfața front‑end. Fiind neagregat la limbă, dezvoltatorii români pot combina API-ul cu Next.js, Vue sau chiar cu template-uri PHP legacy fără a rescrie regulile de afaceri. Serviciile principale rulează pe Node.js și utilizează PostgreSQL pentru persistență, ceea ce se aliniază cu expertiza majorității echipelor locale de dezvoltare și cu alegerea de bază de date a platformei CarphaCom.
Toate extensiile—calculul taxelor, regulile de expediere, motoarele de discount—sunt implementate ca plug‑inuri care se înregistrează prin aceeași suprafață API. Această modularitate permite comercianților să adauge funcționalități specifice României, cum ar fi conformitatea cu TVA‑M0 sau tabele de tarife pentru transportatori, fără a face fork la codul de bază. Actualizările din comunitatea Medusa pot fi aplicate cu un singur npm install medusa@latest, păstrând plug‑inurile personalizate.
Potrivit pentru comercianții români
E‑commerce-ul românesc se confruntă cu constrângeri regulate și logistice distincte: facturare electronică obligatorie, rețele locale de curierat (Fan Courier, Urgent Cargus, Sameday) și furnizori de plată (Netopia, PayU, MobilPay). Natura headless a Medusa permite apelarea acestor servicii direct din back‑end, asigurând că ratele de taxă, zonele de livrare și callback-urile de plată respectă legislația românească. Deoarece platforma nu impune un front‑end specific, comercianții pot menține o interfață consistentă cu brandul, în timp ce utilizează același flux de checkout pe desktop, aplicații mobile și integrații de marketplace.
Performanța este un alt avantaj. Medusa procesează operațiile de coș în memorie și persistă doar stările finale, reducând încărcarea bazei de date în timpul evenimentelor de vânzări cu trafic ridicat, cum ar fi Black Friday. Arhitectura stateless funcționează fără probleme cu load balancerele și grupurile de auto‑scaling de la Vultr, pe care mulți retaileri români le folosesc deja pentru a face față creșterilor sezoniere.
Implementare dovedită cu CarphaCom
Platforma e‑commerce CarphaCom demonstrează pregătirea Medusa pentru producție în România. Construită pe Medusa v2, PostgreSQL și Next.js, CarphaCom integrează API-urile native ale curierilor români și gateway-urile de plată și este oferită ca Developer Edition auto‑hosted pe Vultr Marketplace (CarphaCom pe Vultr). Lista include un script de implementare cu un singur clic care provisionează o instanță 2‑CPU, 4 GB, configurează baza de date și instalează serverul Medusa cu toate variabilele de mediu necesare.
Retaileri care lansează CarphaCom obțin acces imediat la un stack Medusa complet testat, inclusiv handleri webhook pre‑construiți pentru furnizorii de logistică români. Codul sursă al platformei este întreținut în organizația Qubitpage GitHub (github.com/qubitpage), permițând dezvoltatorilor să auditeze patch-urile de securitate sau să contribuie cu îmbunătățiri locale.
Avantaj strategic pentru afacerile locale
Alegerea Medusa reduce timpul până la lansare, deoarece motorul de comerț de bază este deja aliniat cu cerințele de conformitate românești. Modelul open‑source elimină taxele de licență, un factor critic pentru IMM-urile care operează cu marje subțiri. În plus, comunitatea activă Medusa oferă adaptoare gata făcute pentru servicii populare, iar expertiza Qubitpage în dezvoltare software personalizată asigură că orice lacună poate fi închisă printr-un consult de termen scurt (contactează-ne).
În practică, un comerciant român poate lansa un magazin bazat pe Medusa pe Vultr, conecta plug‑inurile de curier al CarphaCom și începe să proceseze comenzi în decurs de o zi, păstrând controlul complet asupra experienței front‑end și a rezidenței datelor.
Configurarea Medusa pe Vultr Marketplace
CarphaCom Developer Edition de la Qubitpage oferă un stack Medusa v2 gata de rulare, care include PostgreSQL, un storefront Next.js și adaptoare preconfigurate pentru curierat și plăți românești. Deploy‑area din Vultr Marketplace elimină configurarea manuală a sistemului de operare și vă permite să vă concentrați pe datele produselor și personalizarea UI‑ului.
- Conectați-vă la panoul de control Vultr. Navigați la pagina CarphaCom Marketplace și faceți clic pe Deploy Now. Asistentul vă va solicita să selectați o regiune; alegeți un centru de date cât mai apropiat de clienții țintă, cum ar fi Frankfurt (DE) sau București (RO), pentru a minimiza latența.
- Alegeți dimensiunea instanței. Pentru un catalog mic-mijlociu, planul
vc2-2c/4gb(2 vCPU, 4 GB RAM, 80 GB SSD) este suficient. Dacă anticipateți trafic ridicat sau imagini mari de produse, upgradați lavc2-4c/8gb. Imagini Marketplace includ containerele Docker necesare, astfel că dimensiunea influențează direct limitele de concurență. - Configurați baza de date PostgreSQL. În același asistent, activați opțiunea “Managed PostgreSQL” și alocați cel puțin 20 GB de stocare. Setați versiunea bazei la 15, care este versiunea testată cu CarphaCom. Înregistrați valorile generate
DB_HOST,DB_USERșiDB_PASSWORD; le veți necesita pentru fișierul de mediu Medusa. - Introduceți variabile de mediu. După ce instanța pornește, deschideți consola Vultr și editați
/etc/carphacom/.env. Introduceți credențialele PostgreSQL, setațiMEDUSA_BACKEND_URL=http://localhost:9000și definițiNEXT_PUBLIC_STORE_URL=https://your-domain.com. Salvați fișierul și reporniți stack-ul Docker cudocker compose up -d. - Rulați configurarea inițială Medusa. Executați
npx medusa migrations runîn directorul/usr/src/medusapentru a crea tabelele implicite. Apoi creați un utilizator admin cunpx medusa user create --email admin@example.com --password StrongPass123. Comanda returnează un token JWT pe care îl puteți lipi în UI‑ul/admin. - Verificați storefront‑ul. Deschideți un browser și accesați
http://YOUR_IP. Front‑endul Next.js ar trebui să afișeze pagina implicită “Welcome to CarphaCom”. Conectați-vă la/adminfolosind credențialele create la pasul anterior pentru a confirma conectivitatea backend‑ului. - Asigurați deployment‑ul. Adăugați un certificat SSL prin meniul “Add‑on” al Vultr sau folosiți Let’s Encrypt cu
certbot. ActualizațiMEDUSA_BACKEND_URLșiNEXT_PUBLIC_STORE_URLpentru a folosi URL‑urihttps://, apoi reporniți containerele. - Activați backupuri automate. În dashboardul Vultr, activați snapshoturi zilnice pentru atât instanța de calcul, cât și pentru serviciul PostgreSQL gestionat. Aceasta protejează catalogul de produse și istoricul comenzilor împotriva pierderii accidentale.
Sfat: După primul deployment, clonați repository-ul de pe GitHub și creați o instanță
stagingseparată. Rularea actualizărilor pe staging prima vă permite să testați noi pluginuri sau integrații cu curieri fără a afecta vânzările live.
Cu CarphaCom Developer Edition online, aveți un backend Medusa complet funcțional, un magazin PostgreSQL și un front‑end Next.js pregătit pentru pașii următori: conectarea curierilor românești, gateway-urilor de plată locale și facturării automate. Pentru asistență cu integrații personalizate, vizitați pagina noastră de contact sau explorați servicii conexe în Software Development.
Integrarea curierilor români cu CarphaCom
Prezentare generală a conectorului încorporat
CarphaCom vine cu conectori preconfigurați pentru cele trei servicii de livrare românești cele mai utilizate: Fan Courier, Sameday și DHL România. Fiecare conector abstractizează API-ul REST al furnizorului în spatele unui endpoint uniform /courier/:provider/track și /courier/:provider/create. Serviciul Medusa apelează aceste endpoint-uri prin pluginul carphacom-courier, care mapă automat câmpurile comenzii Medusa la payload-ul necesar.
Configurarea conectorilor
În primul rând, adăugați pluginul la medusa-config.js și furnizați cheile API obținute de la portalurile curierilor:
module.exports = {
plugins: [
{
resolve: `carphacom-courier`,
options: {
fanCourier: { apiKey: process.env.FAN_API_KEY },
sameday: { apiKey: process.env.SAMEDAY_API_KEY },
dhl: { apiKey: process.env.DHL_API_KEY }
}
}
]
};
Variabilele de mediu sunt stocate în fișierul .env al instanței Vultr, păstrând credențialele departe de repository.
Crearea unei expediții
Hook-ul de îndeplinire a comenzii Medusa invoque POST /courier/:provider/create. Mai jos este o cerere concretă pentru Fan Courier:
POST https://api.carphacom.com/courier/fancourier/create
Content-Type: application/json
{
"order_id": "medusa_12345",
"recipient": {
"name": "Ion Popescu",
"phone": "+40 722 123 456",
"address": "Strada Exemplului 10, București, 010101"
},
"parcel": {
"weight_kg": 2.3,
"dimensions_cm": { "length": 30, "width": 20, "height": 10 },
"value_ron": 450
},
"service": "express"
}
CarphaCom traduce acest payload în formatul nativ Fan Courier, trimite cererea și returnează un răspuns JSON care conține numărul de urmărire și data estimată de livrare. Răspunsul este stocat în înregistrarea fulfillment a Medusa, făcându-l vizibil instantaneu în UI-ul de administrare.
Urmărirea unei expediții
Pentru a interoga starea unei expediții existente, folosiți endpoint-ul generic de urmărire. Exemplul de mai jos obține starea pentru un colet Sameday:
GET https://api.carphacom.com/courier/sameday/track?tracking_number=SM123456789
API-ul răspunde cu un obiect standardizat:
{
"tracking_number": "SM123456789",
"status": "in_transit",
"last_update": "2026-10-22T14:35:00Z",
"estimated_delivery": "2026-10-24"
}
Deoarece schema răspunsului este uniformă pentru toți furnizorii, Medusa poate afișa un singur widget de urmărire pentru toți curierii români fără logică suplimentară de front‑end.
Gestionarea erorilor și a reîncercărilor
Dacă un furnizor returnează un HTTP 4xx sau 5xx, CarphaCom înregistrează eroarea în syslog-ul găzduit pe Vultr și reîncearcă până la trei ori cu back‑off exponențial. Expedițiile eșuate sunt marcate în Medusa cu statusul error, permițând operatorilor magazinului să intervină manual. Jurnalele detaliate sunt accesibile prin CarphaCom Remote console pe pagina Marketplace Vultr.
Testarea integrării local
Înainte de a lansa în producție, rulați modul sandbox al CarphaCom. Setați CARPHACOM_ENV=sandbox în fișierul .env; pluginul apoi redirecționează toate apelurile către endpoint-urile de test ale furnizorilor (de exemplu, https://sandbox.fancourier.ro/api). Folosiți comanda CLI Medusa de mai jos pentru a simula îndeplinirea unei comenzi:
medusa order create --email test@example.com --items sku123:2 --shipping_method fan_courier
Verificați ieșirea consolei pentru numărul de urmărire generat și asigurați-vă că statusul comenzii se actualizează la fulfilled. Odată confirmat, reveniți variabila de mediu la production și redeplotați.
Conectarea gateway-urilor de plată locale
Încărcarea furnizorilor români potriviți
Pentru un magazin headless care se adresează consumatorilor români, cei mai răspândiți procesatori de plată sunt Netopia și PayU. Ambele suportă tranzacții cu card prezent și fără card, facturare recurentă și au API dedicate pentru băncile locale. Netopia oferă un mediu sandbox la https://sandbox.netopia-payments.com, iar PayU furnizează credențiale de test prin portalul său pentru dezvoltatori. Alegerea unui furnizor depinde de ciclul de încasare preferat de comerciant și de funcționalitățile de prevenire a fraudelor necesare.
Pregătirea serverului Medusa
Începe prin a descărca cel mai recent modul de plată CarphaCom din depozitul GitHub al Qubitpage. Modulul se află în directorul carphacom/payments și include adaptoare pentru Netopia și PayU.
- Clonează depozitul și navighează la folderul modulului:
git clone https://github.com/qubitpage/carphacom.git
cd carphacom/payments
- Instalează dependențele Node.js necesare:
npm install
- Copiează fișierul
payment-config.example.jsînpayment-config.jsși completează credențialele furnizate de providerul ales.
Pentru Netopia setează API_KEY, MERCHANT_ID și CALLBACK_URL. Pentru PayU furnizează POS_ID, MD5_KEY și SECOND_KEY. Fișierul de configurare urmează o structură JSON simplă, de exemplu:
{
"netopia": {
"apiKey": "YOUR_NETOPIA_API_KEY",
"merchantId": "123456",
"callbackUrl": "https://yourstore.com/api/payments/netopia/callback"
},
"payu": {
"posId": "654321",
"md5Key": "YOUR_MD5_KEY",
"secondKey": "YOUR_SECOND_KEY",
"callbackUrl": "https://yourstore.com/api/payments/payu/callback"
}
}
Înregistrarea adaptoarelor în Medusa
Deschide configurarea serverului Medusa (medusa-config.js) și adaugă serviciul de plată CarphaCom în array-ul modules:
module.exports = {
// … alte setări
modules: [
// module existente
{
resolve: "@carphacom/medusa-payment",
options: {
configPath: "./carphacom/payments/payment-config.js"
}
}
]
};
După salvare, repornește serviciul Medusa:
docker compose restart medusa
Noua interfețe apar sub /store/payments/netopia și /store/payments/payu. Testează-le cu o cerere POST care conține amount, currency și order_id. Apelurile reușite returnează un URL de redirect care direcționează cumpărătorul către pagina de checkout a providerului.
Gestionarea callback-urilor și a statusului comenzii
Atât Netopia, cât și PayU trimit notificări asincrone către callbackUrl definit anterior. Implementează un handler webhook în src/api/payments/webhook.js care verifică semnătura, actualizează statusul comenzii Medusa și înregistrează ID-ul tranzacției.
router.post('/netopia/callback', async (req, res) => {
if (!verifyNetopiaSignature(req.body)) {
return res.status(400).send('Invalid signature');
}
await updateOrderStatus(req.body.order_id, req.body.status);
res.send('OK');
});
Repetă modelul pentru PayU, schimbând funcția de verificare. Odată ce statusul comenzii devine paid, Medusa poate declanșa fluxuri de îndeplinire, cum ar fi integrarea robotică a depozitului CarphaCom (aflați mai multe).
Sfat: Activează „modul de test” al providerului în timpul dezvoltării, apoi treci la credențiale live doar după ce endpoint-urile webhook au fost validate cu trafic real.
Generare automată a facturilor și conformitate
CarphaCom extinde fluxul de checkout al Medusa cu un motor de facturare integrat care respectă Codul Fiscal român (Legea nr. 227/2015). Când o comandă ajunge la evenimentul order.completed, motorul creează o factură atât în XML (necesar ANAF), cât și în JSON (convenabil pentru procesarea ulterioară). XML-ul urmează schema Factură Fiscală, incluzând noduri obligatorii precum <CIF>, <DataEmiterii>, <TotalTVA> și o semnătură digitală generată cu cheia privată a comerciantului.
Pentru a activa funcționalitatea, adăugați pluginul carphacom-invoice pe serverul Medusa:
npm install @carphacom/invoice-plugin
medusa plugins add @carphacom/invoice-plugin
După instalare, configurați pluginul în medusa-config.js cu numărul de identificare fiscală al companiei, moneda implicită și calea către certificatul X.509 utilizat pentru semnare:
module.exports = {
plugins: [
{
resolve: '@carphacom/invoice-plugin',
options: {
cif: 'RO12345678',
currency: 'RON',
certificatePath: '/etc/ssl/certs/merchant.pem',
privateKeyPath: '/etc/ssl/private/merchant.key',
},
},
],
};
Pluginul stochează fișierele generate în /var/lib/carphacom/invoices. Puteți recupera o factură prin endpoint-ul REST /admin/invoices/:order_id sau să o atașați automat la e‑mailul de confirmare a comenzii. Versiunea JSON reflectă structura XML, facilitând importul în sisteme ERP precum SAP Business One sau pachetul open‑source Carpathron Remote.
Personalizarea layoutului facturii nu necesită modificări de cod. CarphaCom vine cu un șablon Handlebars (invoice-template.hbs) care definește antetul, liniile și subsolul. Editați șablonul pentru a adăuga un logo, a schimba textele, sau pentru a insera câmpuri suplimentare, cum ar fi numerele de ordine de cumpărare. După editare, rulați npm run build:templates pentru a recompila resursele.
Mai jos găsiți o listă rapidă comparativă între formatul implicit românesc al facturii și o variantă tipică la nivel EU. Folosiți-o pentru a verifica că șablonul personalizat îndeplinește toate cerințele legale.
| Element | Român obligatoriu | EU opțional | Implicit CarphaCom |
|---|---|---|---|
| CIF (Cod de identificare fiscală) | Da | Nu | Includ |
| Data emiterii | Da | Da | Includ |
| Detaliere TVA | Da | Da | Includ |
| Semnătură digitală | Da | Nu | Generată |
| Cod QR pentru facturare electronică | Opțional | Opțional | Dezactivat implicit |
| Note personalizate în subsol | Opțional | Opțional | Editează prin șablon |
Când trebuie să adaptați factura pentru un client specific, creați un nou partaj Handlebars și referiți-l în invoice-template.hbs. Partajul poate extrage date din metadatele personalizate ale comenzii, de exemplu un câmp projectCode stocat în timpul checkout-ului. Această abordare păstrează pluginul de bază neschimbat, simplificând viitoarele actualizări.
În final, testați conformitatea trimițând o factură de probă la portalul de validare ANAF. Portalul acceptă fișierul XML și returnează un cod de confirmare pe care îl puteți stoca în înregistrarea comenzii pentru audit. Automatizând acest ciclu, magazinul dumneavoastră român rămâne fiscal compliant fără intervenție manuală.
Deplasarea și scalarea magazinului pe Vultr
Sfat: Activarea HTTPS cu un certificat SSL gratuit
După ce ediția de dezvoltator CarphaCom este activă, deschide panoul Vultr și navighează la Instances → Your Instance → SSL/TLS. Apasă Add Certificate și selectează Let’s Encrypt. Introdu numele domeniului pe care l-ai configurat pentru vitrină (de ex. shop.example.ro) și confirmă adresa de e‑mail pentru notificările de reînnoire. Vultr va emite și instala automat certificatul, apoi va redirecționa traficul HTTP către HTTPS. Verifică configurarea accesând https://shop.example.ro și verifică pictograma de blocare în browser.
Sfat: Atașarea unui CDN pentru livrare mai rapidă a conținutului
Din aceeași vizualizare a instanței, selectează CDN și creează o nouă distribuție. Alege ca origine adresa IP publică a serverului Medusa, activează HTTP/2 și setează TTL-ul cache la 300 de secunde pentru răspunsurile API dinamice, păstrând un TTL mai lung (86400 de secunde) pentru resursele statice, cum ar fi imaginile produselor. După ce CDN-ul este aprovizionat, actualizează înregistrarea DNS A pentru subdomeniu (de ex. cdn.shop.example.ro) să pointeze spre punctul final al CDN-ului. Acest lucru reduce latența pentru clienții din România și eliberează lățimea de bandă de la instanța principală.
Sfat: Configurarea monitorizării și alertelor
Panoul de monitorizare încorporat în Vultr poate urmări CPU, memorie, I/O pe disc și trafic de rețea. Activează Metrics pentru instanță și setează praguri: utilizarea CPU peste 80 % timp de cinci minute, consumul de memorie peste 75 %, sau latența de scriere pe disc care depășește 100 ms. Adaugă alerte prin e‑mail la contact@qubitpage.com sau integrează un webhook Slack pentru notificări în timp real. Pentru o perspectivă mai profundă, instalează pachetul node_exporter în interiorul serverului și conectează-l la un tablou de bord Grafana găzduit pe o instanță Vultr separată.
Scalare verticală: ajustarea resurselor pe loc
Când traficul crește—de ex. în timpul unei vânzări flash—folosește panoul de control Vultr pentru a crește numărul de nuclee CPU, RAM sau dimensiunea SSD fără a redeplasa. Selectează instanța, apasă Resize, alege un plan cu performanțe mai ridicate (de ex. de la 2 vCPU / 4 GB RAM la 4 vCPU / 8 GB RAM) și confirmă. Operațiunea se finalizează în câteva minute și păstrează adresa IP existentă, deci nu sunt necesare modificări DNS.
Scalare orizontală cu load balancere
Pentru creștere sustenabilă, deplasează un Load Balancer Vultr în fața a două sau mai multe instanțe Medusa. În panou, creează un nou load balancer, atribuie un IP public și adaugă instanțele existente ca noduri backend. Activează persistenta sesiunii bazată pe cookie-uri pentru a menține coșurile de cumpărături ale utilizatorilor intacte între cereri. Configurează verificări de sănătate pentru a ping-ui /admin/health pe fiecare nod; nodurile neîntregi sunt eliminate automat până când se recuperează.
Automatizarea scalării cu API-ul
Vultr oferă un API REST care poate fi apelat dintr-un pipeline CI/CD sau dintr-un script personalizat. Exemplu de fragment Bash pentru a adăuga un nod când CPU-ul mediu depășește 70 %:
#!/bin/bash
TOKEN="YOUR_VULTR_API_TOKEN"
AVG=$(curl -s -H "Authorization: Bearer $TOKEN" \
"https://api.vultr.com/v2/instances/$INSTANCE_ID/metrics?metric=cpu" \
| jq '.data | map(.value) | add / length')
if (( $(echo "$AVG > 70" | bc -l) )); then
curl -X POST -H "Authorization: Bearer $TOKEN" \
-d '{"region":"fra","plan":"vc2-2c-4gb","os_id":167}' \
https://api.vultr.com/v2/instances
fi
Acest script poate fi programat cu cron sau declanșat de un webhook de monitorizare, asigurând că vitrina se adaptează automat la cerere.
Următorii pași și suport
Cu SSL, CDN, monitorizare și scalare configurate, magazinul Medusa este pregătit pentru traficul de producție în România. Pentru automatizări personalizate, integrare cu agenții AI ai Qubitpage sau asistență în logistică bazată pe robotică, vizitează pagina Produse sau contactează echipa noastră prin formularul Contact.
Întrebări frecvente
Cum gestionează Medusa catalogurile de produse comparativ cu platformele tradiționale?
Medusa stochează datele produselor într-o bază de date PostgreSQL, permițând interogări SQL directe și indexare granulară. Spre deosebire de soluțiile monolitice SaaS, poți extinde schema cu câmpuri personalizate pentru atribute românești, cum ar fi cod_fiscal sau unitate_de_măsură. Arhitectura headless îți permite, de asemenea, să servești datele catalogului către mai multe front‑ends, de exemplu un magazin Next.js și o aplicație mobilă, fără a duplica conținutul.
Pot folosi conectorii de curier CarphaCom pentru orice serviciu de livrare românesc?
CarphaCom vine cu integrații gata făcute pentru cei mai importanți curieri români: Fan Courier, Sameday și DHL România. Fiecare conector mapă API-ul transportatorului la fluxul de îndeplinire al Medusa, gestionând numerele de urmărire și callback-urile de stare automat. Dacă ai nevoie de un furnizor regional mai mic, poți clona un conector existent și să ajustezi punctul final și parametrii de autentificare.
Ce furnizori de plată sunt suportați „out of the box” în CarphaCom?
Platforma include module native pentru PayU România, Netopia și Stripe, toate expunând o funcție unificată createPaymentSession către Medusa. Aceste module gestionează redirect-urile 3‑D Secure, abonamentele recurente și conversia valutară în RON. Adăugarea unui alt PSP necesită instalarea SDK-ului său și înregistrarea unui nou plugin de plată în fișierul de configurare CarphaCom.
Am nevoie de un dezvoltator pentru a personaliza șabloanele de facturi conform regulilor fiscale românești?
CarphaCom furnizează un șablon de factură implicit care respectă cerințele de bază ale facturării românești, cum ar fi identificarea TVA și formatul anului fiscal. Pentru a adăuga câmpuri obligatorii precum „Număr de ordine fiscal” sau pentru a schimba layout-ul pentru semnăturile electronice, un dezvoltator trebuie să editeze șablonul Handlebars localizat în /templates/invoice.hbs. Sistemul de șabloane suportă secțiuni condiționale, astfel încât poți activa rânduri suplimentare în funcție de statutul fiscal al clientului fără a rescrie întregul fișier.
Este implementarea Vultr Marketplace potrivită pentru magazine românești cu trafic ridicat?
Edția pentru dezvoltatori pe Vultr oferă o instanță cu 2 vCPU, 4 GB RAM, stocare SSD și un cluster PostgreSQL în aceeași regiune, suficientă pentru fazele de lansare și fluctuațiile moderate de trafic. Pentru trafic susținut, poți scala vertical prin selectarea unui tip de instanță mai mare sau orizontal prin adăugarea unui load balancer și a replicaților de citire. Toate acțiunile de scalare se efectuează prin panoul Vultr, iar compoziția Docker a CarphaCom detectează automat noile resurse.
Următorii pași pentru lansarea magazinului tău Medua în România
Începe prin clonarea depozitului CarphaCom de pe GitHub și instalarea Edition-ului pentru Dezvoltatori pe o instanță Vultr. Rulează docker compose up -d pentru a porni Medusa, PostgreSQL și magazinul Next.js, apoi verifică conectivitatea la API-urile curierelor românești efectuând o cerere de tarifare de test cu curl. Ajustează fișierul medusa-config.js pentru a include credențialele gateway-ului de plată și activează modulul generator de facturi furnizat în folderul plugins.
După ce confirmi fluxul de comenzi într-un mediu de testare, creează un înregistrare DNS care să direcționeze domeniul către adresa IP publică Vultr și activează HTTPS cu Let’s Encrypt. În final, rulează comanda încorporată medusa seed pentru a popula datele produselor și efectuează un checkout live pentru a te asigura că facturile sunt generate și trimise corect prin e-mail.
Când magazinul trece toate testele funcționale, schimbă instanța în modul de producție și monitorizează jurnalele cu docker logs -f. Dacă ai nevoie de integrări personalizate sau recomandări bazate pe AI, echipa noastră poate extinde platforma în continuare. Explorează cum poate ajuta Qubitpage să crești.


