Ecommerce Template
Modern ecommerce template built with Next.js 16, React 19, Drizzle, Better Auth, Supabase, and Stripe.
⭐ Sveriges bästa APK-jämförare! Hitta mest alkohol per krona på Systembolaget. Uppdateras dagligen med de mest prisvärda dryckerna.
Translation pending
CommerceTypeScript · SwiftGitHub @marcus-lindholmOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Official repo for APKrona.se
Translation pending
Loading the full README.
Read the full README ↗This is an application to view Systembolaget's products sorted by their APK (ml alcohol per SEK) and more. It is live at apkrona.se.
Marcus Lindholm
Systembolaget's own API does not expose the information needed to calculate and compare products by APK, so the app maintains its own database instead.
Rather than scraping the website, the app now pulls the full product catalogue from a community-maintained JSON API (susbolaget.emrik.org). For every product it computes the metrics the site is built around — APK (alcohol × volume / (100 × price)) and VPK (volume per krona) — normalizes the category, name and taste data into a searchable field, and upserts everything into a PostgreSQL database via Prisma. Products that haven't appeared in the source for more than six days are pruned.
This update runs once per day. A separate step also records a daily ranking snapshot for each product, so the site can show how a product's APK and rank have moved over time.
The website reads from this database through Next.js API routes, which handle pagination, filtering (by type/subtype, order-only items, gluten-free, search), sorting, and random product picks.
axios)/api/scrapeProducts — fetches, formats and upserts products, then prunes stale ones/api/updateRankings — writes the daily APK ranking snapshots