Uppdrag
E-handelsplattform för kassasystem — butik, admin och API
En svensk e-handelsplattform för försäljning och konfiguration av kassahårdvara och betalterminaler: butik och admin i Next.js ovanpå ett ASP.NET Core-API byggt med Clean Architecture, i drift på Azure.
Next.js 16 · React 19 · ASP.NET Core 10 · PostgreSQL · Stripe · Azure
- Sammanhang
- Svenska handlare som köper ett kassasystem köper inte en enskild produkt — de konfigurerar hårdvarupaket, betalterminaler och löpande tjänster som måste passa ihop. Den här plattformen säljer det, hela vägen.
- Problem
- Kassahandel är ingen platt produktkatalog: paket, kompatibilitet och abonnemang måste konfigureras rätt vid köpet, och personalen behöver hantera sortiment, ordrar, rabatter, leverantörer och innehåll utan att röra kod.
- Förutsättningar
- En svenskspråkig marknad, kortbetalningar via en betalväxel, frontend och backend driftsatta var för sig på Azure App Service, och ett API-kontrakt som måste förbli användbart för fler än en klient.
- Roll
- Ensam utvecklare — butik, admin, API och infrastruktur, över 1 100 commits.
- Arkitektur
- En frontend i Next.js 16 (butik, adminpanel och BFF-route-handlers) ovanpå ett ASP.NET Core 10 Web API strukturerat som ett fyraprojekts Clean Architecture-skal med vertical slice-endpoints; PostgreSQL via EF Core, Stripe-betalningar, bakgrundsjobb och transaktionsmejl; en kodgenererad typad API-klient håller kontraktet i synk.
- Vägval
- Vertical slices i stället för lagrade controllers — varje funktion äger sin endpoint, sina DTO:er och sin tjänst. En genererad API-klient i stället för ett handskrivet fetch-lager, så att drift mellan backend och frontend faller vid bygget i stället för i produktion. Ett deterministiskt utgångssortiment så att varje miljö startar realistisk.
- Utfall
- Frontend och backend körs på Azure App Service (båda verifierat i drift 2026-07-15). En integrationssvit med xUnit + Testcontainers och visuella Playwright-tester vaktar releasen. Inga försäljningssiffror publiceras.
- Underlag
- Privat kodbas; ensamt upphov verifierbart i commithistoriken. Referenser lämnas på begäran.
- Sekretess
- Anonymiserad — varumärket och dess juridiska säljare namnges inte här.