Webové portály a marketplace
Skupinovo.sk
Marketplace skupinových nákupov, kde cena klesá s počtom zaplatených objednávok
WebServer/API
O projekte
Skupinovo.sk je marketplace skupinových nákupov: predajca vopred schváli cenový rebrík podľa počtu kusov a výsledná cena pre všetkých sa určí pri uzávierke kampane podľa platobne overených objednávok, nie podľa kliknutí „mám záujem“. Kupujúci vždy vopred vidí maximálnu cenu, predajcu, dopravu, lehoty a podmienky vrátenia. Aplikácia má verejný web, portál predajcu a administráciu s MFA; platby zatiaľ bežia len v sandbox režime a ostrý checkout je v kóde zablokovaný, kým nie sú splnené platobné a právne podmienky.
Čo aplikácia vie
- Kampane s cenovým rebríkom (cena za kus podľa počtu kusov), zobrazením aktuálnej a maximálnej ceny, odpočtom do uzávierky a počtom chýbajúcich kusov do ďalšieho cenového stupňa
- Tri platobné režimy: blokácia na karte s neskorším strhnutím, platba vopred s vrátením rozdielu a prihlásenie teraz s platbou po uzávierke
- Checkout s podpísanou cenovou ponukou, idempotentnými záväzkami, rezerváciou skladu a simulovaným overením 3D Secure
- Finalizácia kampane so snapshotom ceny, capture/void/refund, účtovná kniha (ledger), provízie a nočná kontrola zhody peňazí s platobnou bránou
- Portál predajcu: prihláška a zmluva, produkty a varianty, editor kampaní a cenového rebríka, objednávky s odoslaním a číslom zásielky, vrátenia a vyúčtovanie provízií
- Zamknutie ceny, termínov a podmienok po prvej objednávke; zmeny rebríka sa auditujú a po úprave ide kampaň znova na schválenie
- Administrácia s povinným TOTP MFA: schvaľovanie predajcov, produktov a kampaní, pozastavenie kampaní, potvrdzovanie refundov, právne brány a rizikové hlásenia
- Sledovanie kampane, zdieľanie s pozvaním známych a prehľad „Moje nákupy“ pre kupujúceho
- Worker s jobmi pre webhooky platobnej brány, plánovanie kampaní, expirácie rezervácií, finalizáciu a revalidáciu autorizácií
- OpenAPI dokumentácia API, rate limiting a šifrovanie citlivých polí (AES-256-GCM)
Technicky zaujímavé
- Cena sa počíta len z platobne zabezpečených kusov; finalizácia robí snapshot a strhne nanajvýš autorizovanú sumu, ostatné sa vráti alebo uvoľní
- Testy pokrývajú 10 scenárov zo špecifikácie (súbeh o posledný kus, expirácie autorizácií, opakované a sfalšované webhooky, zlyhaný capture) proti reálnej MariaDB so sandbox platobnou bránou
- Tvrdé poistky v konfigurácii: produkcia nesmie bežať so sandboxom, demo nesmie mať live kľúč a ostrý checkout vyžaduje auditované potvrdenie právnych brán
V pláne
- Ostré platby cez Stripe (adaptér je napísaný, zatiaľ neoverený voči test účtu), KYC a výplaty predajcom
- Odosielanie e-mailových notifikácií (zatiaľ len fronta)
- Viac používateľov predajcu, nahrávanie fotiek produktov, export objednávok
- GDPR export a výmaz údajov, monitoring metrík
- Aukcie a B2B režim (obrátený dopyt)