Werk2026
Een finance-contentplatform, in productie
Marketingsite, nieuwsbrief en nieuwsfeed, met een ledengedeelte achter een Stripe-betaalmuur. Postgres met default-deny row-level security, wachtwoordloze authenticatie en een news-ingestion-pipeline die de feed vult. Het securitymodel wordt gedekt door een SQL-testsuite tegen een wegwerpdatabase.
- Stack
- Next.js 16SupabaseStripeResendVercel
- Live
- nadia-sv.com
Drie producten op één database: een publieke marketingsite, een nieuwsbrief en een nieuwsfeed met samengestelde items. Daarachter een ledengedeelte achter een Stripe-betaalmuur.
Securitymodel
Postgres staat op deny-by-default. Geen tabel is leesbaar tot een policy dat toestaat. Toegang die een grens moet oversteken loopt via security-definer-functies in plaats van via een ruimere policy. Authenticatie is wachtwoordloos.
Het model wordt gedekt door een SQL-testsuite tegen een wegwerp-Postgres die controleert wat elke rol wel en niet mag zien. Een securitymodel dat alleen gelezen is, is niet geverifieerd.
Contentpipeline
Een geplande ingestion-taak haalt items op uit nieuws- en toezichtbronnen, normaliseert wat er binnenkomt en zet het klaar voor review voordat het de feed bereikt. Nieuwsbriefverzending loopt via Resend.
Beheer
Uitgerold op Vercel met auto-deploy vanaf main, DNS en e-mailrouting op Cloudflare en toegankelijkheidsaudits inclusief de contrastberekeningen waarop ze steunen.