Acceseaza programul ANTREPRENOR START pentru avantaje comerciale exclusive.
Media Design

Artefact complet - analiza si roadmap Maria

Copie integrala a artefactului web si roadmapului proiectului eClassify pentru Maria Alexandra Bobea.

Marketplace vintage & second-hand - Maria Alexandra Bobea

Analiza tehnica si de produs a platformei eClassify raportata la cerintele marketplace-ului.

Analiza consolidata pe build si medii testate

Important: statusurile descriu comportamentul copiei locale, configuratia activa si rezultatele testelor executate. „CONFIRMAT DEFECT” inseamna bug sau risc demonstrat in cod/runtime; „CONFIRMAT INCOMPLET” inseamna configurare, integrare sau livrare neinchisa. Acestea nu reprezinta automat o concluzie despre testele facute de furnizor pe versiunea achizitionata.

Ce ofera

Conturi, autentificare, profiluri, anunturi, imagini/video, categorii, custom fields, cautare, filtre, locatie, favorite, chat, review-uri, report/block, notificari, seller verification, promovare, pachete, blog, reels, jobs, limbi, monede si plati pentru pachete.

Ce nu ofera complet

Order de produs, checkout complet, adresa si metoda de livrare, AWB, tracking, pickup mobilier, retur/refund/disputa, buyer protection, comision marketplace, seller balance, payout si reconciliere financiara.

Ce a fost testat concret

Auditul backend a folosit schema izolata, cinci fixture-uri de rol si HTTP separat: 27 scenarii API si 21 grupuri admin cu index, create, show, mutatii goale, ownership si deny. Statusul fiecarui rezultat este in dosarul tehnic, iar lipsa unui payload pozitiv valid nu este marcata functional.

1. Cerinte Maria - clasificare pe baza testelor

Cerinta

Status strict

Rezultat confirmat

Buyer si seller pe acelasi cont

CONFIRMAT INCOMPLET

Contul User poate accesa informatiile de cont si contul Seller poate publica; modelul permite roluri separate, dar comutarea aceluiasi cont intre cumparare si vanzare nu este implementata ca flux distinct.

Listing seller si propagare discovery

CONFIRMAT INCOMPLET

Seller a creat, actualizat si sters un anunt in baza izolata; Guest poate cere lista publica. CRUD-ul este confirmat, dar propagarea in toate suprafetele de discovery nu este inca demonstrata.

Search, categorii, filtre, locatie

CONFIRMAT INCOMPLET

Categorii si lista raspund 200; filtrarea completa si nearest nu sunt inchise, iar get-location are defect confirmat: 200 text/html/body gol pentru parametrii folositi, in loc de contract JSON.

Favorite, profil, chat, notificari

CONFIRMAT INCOMPLET

Favorite add/remove, profil seller si chat bilateral au fost confirmate; notificarea externa FCM nu a fost validata pe dispozitiv.

Checkout, plata, comision, payout

CONFIRMAT INCOMPLET

Gateway-urile si payment settings sunt confirmate; order, tranzactie sandbox, comision, payout si reconciliere nu sunt implementate complet.

Shipping, AWB, tracking, pickup

CONFIRMAT LIPSA

Nu exista workflow backend complet confirmat pentru AWB, tracking si pickup.

Retur, refund, disputa, protectie

CONFIRMAT LIPSA

Nu exista rute si workflow complet confirmat pentru aceste operatii.

Reviews legate de tranzactie

CONFIRMAT FUNCTIONAL

Anuntul a fost marcat sold out pentru User; review cu rating 5 a fost creat si Seller a primit average 5; duplicatul a fost respins.

Trust & safety

CONFIRMAT INCOMPLET

Block a impiedicat trimiterea mesajului, unblock si follow/unfollow au functionat; report, moderare si KYC nu sunt inchise.

Admin multi-rol

CONFIRMAT INCOMPLET

Login Super Admin si rutele CRUD reprezentative au raspuns 200; User/Seller/Staff/Admin/Super Admin au fost create, dar matricea completa de permisiuni pe fiecare mutatie nu este inchisa.

Multi-country, limbi, monede

CONFIRMAT INCOMPLET

API-ul de limbi exclude ro, /ro/landing livreaza lang en, iar hosturile mobile si tara implicita sunt India.

Design premium Maria

CONFIRMAT INCOMPLET

Exista mockupuri transmise partial in discutia cu Maria; directia vizuala este confirmata, dar setul complet de ecrane si starile responsive nu sunt inca inchise prin acceptanta.

1A. Matrice de implementare pentru cerintele Mariei

Estimarea de mai jos este legata de modulele identificate in copia instalata si de regulile comerciale definite pentru marketplace. „Reutilizabil” inseamna cod existent care poate fi pastrat dupa validare, nu doar un nume de ruta sau un package prezent.

Cerinta

Ce se reutilizeaza concret

Regula comerciala / lipsa

Solutie si zone de modificat

Timp

Buyer + seller pe acelasi cont

Auth Sanctum, User, SellerController si profilurile existente

Un utilizator publica si cumpara fara conturi duplicate; comutarea rolului si drepturile trebuie definite explicit.

Unificare capability buyer/seller in User, Policy si API; selector de mod in Web/Flutter; teste de ownership. `app/Models/User.php`, `app/Http/Controllers/SellerController.php`, `routes/api.php`

12-20 h

Listing seller -> database -> discovery

ItemController, ItemApiResource, add/update/delete item, upload media

Sellerul creeaza produsul real; produsul se salveaza automat si devine vizibil doar dupa starea de moderare stabilita.

Pastrare CRUD si adaugare pipeline de status, indexuri, propagare in lista/categorii/search si refresh cache. `app/Http/Controllers/ItemController.php`, `app/Http/Resources/ItemApiResource.php`, `web/features/*`, `mobile/.../item*`

16-28 h

Search, categorii, filtre, locatie

CategoryController, PlaceController, item list API, filtre Web/Flutter

Cautare dupa mobilier/decor/vintage, categorie, pret, stare, localitate si distanta; nearest necesita coordonate valide.

Contract JSON pentru LocationApiController, query builder paginat si indexat, teste pentru filtre combinate si Bucuresti/Ilfov. `app/Http/Controllers/Api/LocationApiController.php`, `app/Http/Controllers/ItemController.php`, `routes/api.php`

16-26 h

Favorite, profil seller, chat, notificari

Favorite API, SellerController, AdminChat, NotificationService, FCM

Buyerul salveaza produse, contacteaza sellerul si primeste notificare pentru evenimente relevante.

Se pastreaza modulele; se adauga contracte de notificare, idempotency, FCM pe mediu si teste buyer/seller. `app/Services/NotificationService.php`, `app/Http/Controllers/Api/*`, `mobile/lib/*chat*`

18-32 h

Checkout, plata, comision, payout

PaymentService si adaptoarele Stripe/PayPal/Razorpay; payment settings

Comanda produs, plata in sandbox, comision marketplace, sold seller si eliberare payout dupa confirmare.

Introducere Order/Payment/Wallet/Commission state machines, webhook idempotent si reconciliere admin. `app/Services/Payment/*`, `app/Http/Controllers/WebhookController.php`, migrations, Web/Flutter checkout

80-130 h

Shipping, AWB, tracking, pickup

Location/Place si notificari; nu exista shipment domain complet

Livrare nationala, cost si AWB sau ridicare locala pentru mobilier; stari vizibile buyer/seller/admin.

Modele Shipment/Carrier/Pickup, adaptoare curieri, tracking events, tarife si politici; integrarea curierului se estimeaza separat dupa API. `app/Models/*`, `routes/api.php`, Admin/Web/Flutter orders

100-160 h

Retur, refund, disputa, protectie

Payment refund hooks si report/block ca baza; nu exista workflow order-after-sale

Termene, dovezi, responsabilitati si decizie pentru retur/refund/disputa; protectia cumparatorului trebuie definita.

State machine dispute, evidence storage, refund partial/total, SLA si audit log; legare la Order si Payment. `app/Services/Payment/*`, controllers, migrations, notifications

60-100 h

Reviews legate de tranzactie

Review/seller review controllers si rating models

Reviewul se publica numai dupa o tranzactie eligibila si nu poate fi duplicat.

Pastrare rating existent; adaugare order_id, eligibility query, migration si UI status. `app/Http/Controllers/*Review*`, `app/Models/*Review*`, migrations

8-16 h

Trust & safety

ReportReason, UserReport, block/unblock, seller verification

Raportarea, moderarea, suspendarea si verificarea sellerului trebuie sa aiba roluri, dovezi si audit.

Matrice moderation queue, Policies, reason taxonomy, KYC provider optional si notificari. `app/Http/Controllers/ReportReasonController.php`, `UserVerificationController.php`, permissions

28-48 h

Admin multi-rol

Spatie Permission, RoleController, controllerele CRUD existente

Staff opereaza limitat; Super Admin gestioneaza setari; fiecare actiune are allow/deny demonstrabil.

Completare metode lipsa, Policies/Form Requests, test matrix pe 5 roluri. `app/Http/Controllers/*`, `app/Policies/*`, `config/permission.php`, `routes/web.php`

40-64 h

Multi-country, limbi, monede

LanguageController, CurrencyController, PlaceController, translation traits

Lansare initiala RO/RON, ulterior tari/limbi/monede; continutul nu trebuie afisat in limba gresita.

Adaugare locale ro, RON, fallback, formatter si URL strategy Web; configurare tara/telefon Romania. `app/Http/Controllers/LanguageController.php`, `CurrencyController.php`, Web i18n, Mobile config

24-40 h

Design premium Maria

Layouturile Web/Flutter si componentele eClassify

Mockupurile Maria aprobate sunt criteriul vizual; setul transmis este partial si trebuie completat cu ecrane, stari si reguli responsive.

Inventar mockupuri, design tokens, componente marketplace, responsive states si test comparativ. Web `components/`, Flutter `lib/` screens/widgets

56-88 h

Total implementare cerinte produs: aproximativ 458-752 ore de lucru efectiv, fara costuri externe. Pentru lucru impreuna, aceasta inseamna aproximativ 12-18 saptamani la program complet sau 18-28 saptamani la program partial. Timpul nu include asteptarea dupa aprobari, credentiale, procesatori sau curieri.

1B. Directia de redesign bazata pe mockupurile Mariei

Redesignul este o axa separata a proiectului, nu o simpla ajustare cosmetica. Maria a transmis partial in discutia de pe Facebook directia vizuala si exemple de ecrane; acestea devin sursa de adevar pentru stil, ierarhie, componente si experienta marketplace. Pana la primirea tuturor mockupurilor, statusul corect este CONFIRMAT INCOMPLET: exista material de lucru, dar nu exista inca acoperire completa pentru toate fluxurile.

Etapa

Ce se livreaza Mariei

Dovada si acceptanta

Timp

Inventar si directie

Catalogul mockupurilor primite, ecranele lipsa, user journeys si lista deciziilor vizuale.

Fiecare mockup este mapat la o ruta/ecran; diferentele si presupunerile sunt marcate explicit.

8-12 h

Sistem vizual

Tokenuri de culoare, tipografie, spatii, radius, umbre, iconografie, carduri, butoane, formulare, badge-uri si stari.

Componentele reutilizabile sunt documentate si au variante desktop, tablet, mobile, loading, empty si error.

16-24 h

Web marketplace

Redesign pentru landing, listare, cautare, categorie, anunt, profil seller, favorite, chat, autentificare si checkout.

Comparatie browser cu mockupul aprobat la viewporturile stabilite; fara overflow si fara componente duplicate.

24-36 h

Flutter/mobile

Paritate vizuala pentru onboarding, home, search, listing, item details, chat, notificari si cont.

Build Android si capturi de verificare pentru aceleasi stari ca Web; diferentele acceptate sunt notate.

24-40 h

Revizii si handoff

Lista diferentelor, revizia Mariei, inchiderea feedbackului si reguli pentru ecranele noi.

Maria aproba setul de ecrane; fiecare modificare are componenta, fisier si criteriu de acceptanta.

8-16 h

Rezultat asteptat: o experienta coerenta intre Web, Admin si Flutter, cu identitate vizuala Maria si cu un sistem reutilizabil pentru dezvoltarea ulterioara a platformei.

Verificare live web - rute si responsive

Testarea a fost executata in Chromium real, fara modificarea datelor. Rutele publice de baza au raspuns HTTP 200 in scenariile reusite, iar /landing redirectioneaza la /. Ruta /ads a avut si o navigare abortata; prin urmare nu este marcata automat functional pentru toate starile UI.

La viewport 390x844 nu s-a observat overflow orizontal pe paginile publice verificate. /profile, /favorites si /chat redirectioneaza Guest-ul la autentificare. Rutele admin redirectioneaza Guest-ul la /login. Dashboard-ul si CRUD-urile pozitive raman distincte si necesita sesiune autorizata persistenta; existenta structurala a rutei nu este considerata dovada de functionalitate completa.

Configurarea Web pentru productie este confirmata: build Next si lint sunt verzi, resolverul de mediu foloseste fallback local, canonicalele si sitemap-urile folosesc aceeasi origine, iar headerele Next de hardening sunt livrate. Catalogul RO nu exista in proiect; /ro/landing aplica limba implicita in mod controlat, fara a pretinde traduceri inexistente.

3. Dosar tehnic individual

Fiecare intrare leaga constatarea de rezultat, cauza, impact, zona de cod, solutie, criteriu de acceptanta si timp estimat.

AUD-001 - Actiuni admin fara handler

Rezultat

Inventarul rutelor identifica 20 actiuni care trimit catre metode inexistente; customer/create reproduce HTTP 500.

Zona si cauza

api-admin/routes/web.php si controllerele indicate de rute.
Fluxul se opreste inainte de CRUD si autorizare.

Solutie

Implementare handler, Form Request, Policy si persistenta pentru fiecare ruta sau eliminarea explicita a rutei.

Acceptanta

Zero metode lipsa; CRUD valid, invalid si ID inexistent raspund coerent.

Estimare

40-60 h

AUD-002 - Contract HTTP inconsistent

Rezultat

Mutatii si erori returneaza combinatii de HTTP 200, HTML gol si 500.

Zona si cauza

Controllere admin, ResponseService, exception handler.
Clientul poate interpreta esecul drept succes.

Solutie

Schema JSON comuna cu 2xx doar la succes si 422/403/404/500 pentru esec.

Acceptanta

„Nu sunt aici să cheltui banii tăi pe 'likes' fără valoare. Abordarea mea este pragmatică: investim un leu, trebuie să scoatem mai mult. Monitorizez constant campaniile pentru a elimina orice risipă și direcționez bugetul strict acolo unde generează vânzări. Îți ofer liniștea că fiecare sumă investită lucrează activ pentru creșterea cifrei tale de afaceri.”

AlexandruMarketing
AlexandruMarketing
AlexandruMarketing

Newsletter

Abonează-te la newsletter-ul nostru și fii la curent 
cu cele mai recente tendințe în design digital.

Newsletter

Abonează-te la newsletter-ul nostru și fii la curent 
cu cele mai recente tendințe în design digital.

„Nu sunt aici să cheltui banii tăi pe 'likes' fără valoare. Abordarea mea este pragmatică: investim un leu, trebuie să scoatem mai mult. Monitorizez constant campaniile pentru a elimina orice risipă și direcționez bugetul strict acolo unde generează vânzări. Îți ofer liniștea că fiecare sumă investită lucrează activ pentru creșterea cifrei tale de afaceri.”

AlexandruMarketing
AlexandruMarketing
AlexandruMarketing