Marketplace multi-vendor pentru produse locale, cu un singur coș pentru mai multe magazine, aplicații separate pentru client, comerciant și curier, plăți flexibile și un sistem avansat de import și administrare a cataloagelor furnizorilor.
PHP 8.1
Laravel 10
Eloquent ORM
MySQL / MariaDB
+21 more
Mixbox coordonează într-un singur produs clienți, magazine, curieri, manageri de livrare și administratori. Clientul folosește o aplicație Flutter disponibilă pe mobil și web pentru localizare, descoperirea magazinelor și produselor, favorite, coș, checkout, plăți, urmărirea comenzilor, istoric, review-uri și suport. Magazinul primește propria aplicație Flutter pentru comenzi, statusuri, catalog, stoc, cupoane, program, facturi, încasări și operațiuni POS, iar curierul are o aplicație separată pentru disponibilitate, cereri de livrare, acceptare, navigare, localizare, dovezi de plată, cash collection, wallet și istoric. Backend-ul Laravel deservește toate aceste experiențe și include API-ul comun, panoul de administrare și interfața dedicată managerului de livrare.
Produsul pornește de la baza comercială SixAMart, dar codul Mixbox adaugă și extinde fluxuri care schimbă substanțial funcționarea standard. Checkout-ul permite produse din mai multe magazine în același coș: backend-ul grupează pozițiile după store, validează separat fiecare magazin și creează comenzi distincte, cu distanță și taxă de livrare calculate per magazin, cupoane distribuite proporțional și bacșiș împărțit controlat între livrări. Pentru plata digitală multi-store este creat un OrderGroup care permite achitarea consolidată a comenzilor rezultate, fără ca fiecare magazin să vadă sau să opereze produsele celorlalți.
O componentă majoră este administrarea cataloagelor provenite de la furnizori. Mixbox acceptă feed-uri JSON, CSV, XLS și XLSX, import manual sau programat, preview, normalizarea coloanelor, procesare în loturi, reluare de la ultimul index procesat, loguri de import și actualizarea produselor existente după SKU. CategoryResolverService centralizează aceeași regulă pentru preview și import: maparea explicită pe SKU are prioritate, urmată de maparea taxonomiei sursă, potrivirea directă și, în lipsa unei rezolvări valide, trimiterea produsului în zona Necategorisite pentru revizuire. Feed Category Manager permite mapări simple sau compuse, crearea de categorii, mutarea produselor existente, ignorarea surselor și sincronizarea imaginilor. SKU Mapping-ul implementat este o regulă de clasificare feed-specifică sau generală; nu este prezentat în portofoliu ca un sistem de consolidare automată a stocurilor între furnizori, deoarece codul actual nu demonstrează acel mecanism.
Comenzile trec prin stări operaționale comune aplicațiilor: pending, confirmed, accepted, processing, handover, picked_up și delivered, cu ramuri pentru anulare, eșec și refund. Backend-ul verifică zona geospațială, programul și disponibilitatea magazinului, limitele de cantitate, variațiile, stocul, cupoanele, taxele, costurile de livrare, vehiculul și restricțiile metodei de plată înainte de salvare. Stocul este actualizat în aceeași tranzacție cu order details pentru o comandă individuală, iar anularea restaurează cantitățile. Curierii pot fi asignați sau pot accepta cereri, își transmit locația, actualizează statusurile, confirmă plata și pot încărca dovezi; clientul și magazinul primesc actualizări prin Firebase și notificări persistente.
Plățile confirmate în cod includ cash on delivery, digital payment, wallet, offline payment, transfer bancar și plată parțială din wallet. Fluxul de plată digitală amânată permite crearea comenzii ca neplătită, afișarea ei imediată magazinului și trimiterea cererii de plată clientului când magazinul mută comanda în processing. După achitare, statusul operațional este păstrat, iar magazinul este notificat. Pentru comenzi digitale din mai multe magazine, OrderGroup centralizează suma și statusul plății.
Pe web, aplicația Flutter setează dinamic title, description, canonical URL, Open Graph și Twitter metadata pentru produse, magazine, categorii și branduri. Backend-ul completează limitările unei aplicații client-rendered cu pagini pre-render pentru crawlere, robots.txt și sitemap dinamic, cache-uit, pentru slug-urile publice. Livrarea tehnică este împărțită pe patru workflow-uri GitHub Actions: deploy SSH al backend-ului la push în main, build și deploy pentru customer web plus APK și build/distribuție APK pentru aplicațiile magazinului și curierului. Workflow-urile actuale automatizează build-ul și distribuția pe server, dar nu sunt prezentate ca publicare automată în App Store sau Google Play și nu includ o suită de teste ori rollback automat.