Hoppa till innehåll

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.