Release Notes
Versiehistoriek van PromoCode.be
UI schermen voor savings stacks en groepsacties — alles bedienbaar via de browser.
✨ Toegevoegd
- · /stack/nieuw — wizard om een savings stack aan te maken: kies winkel, promocode, cashback en loyalty met live euro-preview
- · /mijn-stacks — overzicht van al jouw stacks met views, claims en verdiende referral bonus
- · /groep/nieuw — formulier om een groepsactie te starten met aanpasbare cashback-tiers (premium)
- · Stacks-link toegevoegd in de hoofdnavigatie
Groeps-spaaracties — virale savings stacks, collectieve cashback-tiers en freemium-abonnement.
✨ Toegevoegd
- · Savings Stacks: combineer promocode + bank-cashback + loyalty in één deelbare link met concrete euro-besparing
- · Referral systeem: stack-maker verdient €0,50 bonus elke keer iemand zijn stack gebruikt (premium)
- · Groepsacties (Group Buy): collectieve cashback-tiers die pas ontgrendelen als genoeg mensen meedoen
- · 4 cashback-tiers per groepsactie: Solo (2%), Groepje 5p (5%), Groep 10p (8%), Community 25p (12%)
- · Voortgangsbalk en live ledencount op groepsactie-pagina
- · Freemium abonnementsmodel: Gratis (basis stacking) vs Premium (€3,99/m of €39/jr)
- · Premium: groepsacties aanmaken, automatische stack-alerts, referral bonus, onbeperkt winkels
- · Stack share-pagina (/stack/{slug}): publiek toegankelijk, geoptimaliseerd voor sociaal delen
- · Premium upgrade pagina met rekensom en FAQ
- · Anti-fraude: dubbele claims en dubbele groepsdeelname geblokkeerd via IP-hash
⚡ Verbeterd
- · Winkel-pagina toont nu actieve groepsacties automatisch
- · Stack-besparing wordt real-time berekend op basis van referentiebestelling
Arrival module — automatische promos bij winkel-aankomst (web, app, QR, NFC, GPS).
✨ Toegevoegd
- · Arrival module: klanten krijgen automatisch promos aangeboden bij aankomst in een winkel
- · Triggers: websitebezoek, app-open, QR-scan, NFC-tag en GPS-geofencing — elk individueel in/uitschakelbaar
- · Per winkel instelbaar via nieuw 'Arrival' tabblad in het admin dashboard
- · Standalone HTML widget (/api/arrival/widget/{slug}) — NL/FR/EN, licht/donker thema
- · Embed script (arrival-widget.js) — één <script> tag volstaat voor elke website of app
- · GPS-geofencing met Haversine-berekening — popup verschijnt automatisch bij fysieke aankomst
- · URL-trigger via ?arrival=1 — voor QR-codes en NFC-tags aan de winkelingang
- · Cooldown-systeem — zelfde bezoeker krijgt niet elke keer opnieuw een popup (instelbaar)
- · Arrival analytics: aankomsten per trigger, per dag, gemiddeld aantal promos getoond
- · API: GET/POST /api/arrival/{slug}, GET/PUT /api/arrival/settings/{slug}, GET /api/arrival/analytics/{slug}
- · Embed-code generator in admin dashboard met live preview
Admin dashboard, gebruikersinstellingen, help-pagina en crawler rapport.
✨ Toegevoegd
- · Admin dashboard: volledig HTML-pagina op /admin (was JSON-only)
- · Crawler rapport in admin: overzicht per scraper met status, gevonden/nieuw, ok/err runs
- · Run-knop per scraper + 'Alle scrapers draaien' in admin crawl tab
- · POST /api/admin/crawl/run — trigger crawl vanuit admin UI
- · GET /api/admin/crawl/summary en /crawl/logs endpoints
- · /instellingen pagina — gebruiker kan categorieën en winkels aanpassen
- · /help pagina — gebruikersgids met uitleg over het platform
- · /release-notes pagina — versiehistoriek per release
🐛 Opgelost
- · Survey pagina /voorkeuren was onbereikbaar (geen GET route) — opgelost
- · Survey router dubbel geregistreerd in main.py — verwijderd
- · Na Google login geen redirect naar survey als survey_done=False — opgelost
- · Admin nav link wees naar JSON endpoint — nu /admin HTML pagina
- · static/ map ontbrak — veroorzaakte startup crash
⚡ Verbeterd
- · Nav dropdown: 'Mijn instellingen' en 'Help' links toegevoegd
- · Instellingen pagina pre-filled met opgeslagen voorkeuren
- · Actieve tab blijft zichtbaar na filteren in admin dashboard
Google login, gebruikersprofielen, admin dashboard, analytics en anti-fraud.
✨ Toegevoegd
- · Google OAuth2 login — leeftijd, geslacht, locatie opslaan
- · Admin dashboard met KPI stats, klikgedrag, gebruikers en offer-beheer
- · Code-teller per offer: instellen hoeveel codes beschikbaar (aftellen)
- · Minuten-timer per offer: deal verloopt na X minuten
- · Likes-unlock: likes-drempel ontgrendelt nieuwe batch codes
- · Gepersonaliseerde aanbevelingen op basis van kijkgedrag
- · Click-tracking: view / click / claim / like events
- · Survey systeem: enquête voor nieuwe gebruikers
- · Anti-fraud: velocity checks per user en IP
- · Playwright scrapers voor JS-rendered sites (iBOOD, SpyDeals, CashbackXL)
Scrapers gefixed — alle 9 scrapers leverden 0 resultaten door verouderde URLs.
🐛 Opgelost
- · Pepper: nieuw RSS endpoint (nl.pepper.com/rss/nieuw)
- · Deals.be: base64 decoded URLs + data-code extractie
- · Kortingscode.be: data-dialog JSON parsing
- · SocialDeal: a.deal-card selector + ribbon discount extractie
- · Shopbuddies: API-gebaseerde aanpak (Next.js site)
- · SpyDeals, CashbackXL, iBOOD: verbeterde CSS selectors
⚡ Verbeterd
- · Code-extractie heuristiek in base.py: 8 regex patronen (was 2)
- · Exclude-lijst voor vals-positieve 'codes' (GRATIS, SALE, etc.)
- · README en CHANGELOG toegevoegd
Initiële release van het PromoCode.be platform.
✨ Toegevoegd
- · 9 scrapers: Pepper, SpyDeals, Deals.be, Kortingscode.be, iBOOD, Shopbuddies, CashbackXL, SocialDeal, Simplecode
- · FastAPI AI app met Claude (AWS Bedrock) voor code-extractie
- · Community stemmen (works/fails) met IP-dedup en auto-expire
- · Reviews met rating en bespaard bedrag
- · Winkels, codes, aanbiedingen, loyaliteitsprogramma's en bankdeals
- · APScheduler voor periodieke crawls
- · REST API met OpenAPI docs op /docs
- · Tailwind UI met ticket-stijl kaartjes