Projekt

Minside Admin

En lille native Windows-shell til kunder med SaaS-produkter. Den indlejrer Chromium, loader den live klientportal og føles som en desktop-app - uden at kopiere websitet ind i installeren. Produktkataloget er stadig en showcase, men Analytics-SaaS’en virker fuldt.

← Tilbage til projekter Kontakt om desktop-klienten

Hvad er det?

Minside Admin er en Electron-app: et låst vindue, der åbner det rigtige login og produktportal på simonringwelski.dk. Ingen adresselinje og ingen generel browsing - bare et desktop-ikon, vedvarende session og recovery, når netværk eller renderer fejler.

Kun shell’en pakkes (main-proces, preload-bro, ikon). Websitet kommer altid fra serveren, så kunder får samme PHP-backend, auth og SaaS-produkter som i browseren - med en desktop-først ramme omkring.

Tænk på det som Chrome uden chrome: samme site, samme konti, låst til domænet, med genvej på skrivebordet og recovery ved crash/netværksfejl.

  • Native Windows-shell omkring den live klientportal
  • SaaS-produktlauncher med konto- og licenstjek
  • Analytics-SaaS er produktionsklar; det bredere katalog er stadig showcase
  • Installer og portable builds via electron-builder

Sikkert login

Ved start åbnes et fokuseret admin-login i Electron-vinduet. Brugere logger ind med deres kontooplysninger, før produkter vises - samme auth-stack som webportalen, i en rolig desktop-ramme.

Sikker autentifikationsgrænseflade med et rent, distraktionsfrit design. Brugere logger ind med deres kontooplysninger, før de får adgang til deres tilgængelige SaaS-produkter.

Entry-URL’en inkluderer client=desktop-app, så sitet kan opdage wrapperen og tilpasse UI’et til det låste vindue (temaskift, layout og desktop-hints).

  • Loader auth/login.php i et låst Electron-vindue
  • Rent, distraktionsfrit login-UI
  • Desktop-client query lader PHP/JS tilpasse oplevelsen

To-faktor-autentifikation

Når en konto har 2FA aktiveret, fortsætter desktop-klienten samme authenticator-flow som på web: en sekscifret app-kode eller en af de ticifrede backup-recovery-koder, hvis telefonen mangler.

Indbygget understøttelse af to-faktor-autentifikation (2FA) med authenticator-apps og backup-recovery-koder for et ekstra lag kontosikkerhed.

MFA genimplementeres ikke i Electron - shell’en hoster blot de hærdede login-sider, så sikkerhedspolitikken forbliver centraliseret på serveren.

  • Authenticator-app-koder (6 cifre)
  • Backup-recovery-koder (10 cifre)
  • Annullér og gå tilbage til password-login ved behov

Produktdashboard

Efter login lander kunder på en produkthjemmeside med abonnementer og købte SaaS-apps på kontoen. Aktive produkter viser status og en åbn-handling, der starter appen i samme shell.

Et centralt dashboard med alle aktive abonnementer og købte produkter. Brugere kan starte applikationer direkte fra klienten, mens systemet automatisk verificerer kontoadgang og licens.

Adgang og licens verificeres af serveren, når et produkt åbnes - desktop-klienten er launcheren, ikke et separat licenslager.

  • Central liste over aktive abonnementer og produkter
  • Åbn med ét klik ind i den valgte SaaS-UI
  • Kontoadgang og licens tjekkes på serveren

Analytics-SaaS (live)

Analytics er ikke en mock-skærm. Kunder åbner et fungerende analytics-produkt fra desktop: trafik, besøgsadfærd, indholdsperformance, publikum, events, forbrug og Core Web Vitals for deres property.

En desktop-grænseflade til Analytics-platformen med adgang til websitetrafik, besøgsadfærd, indholdsperformance, Core Web Vitals og andre website-indsigter via en dedikeret native klient.

Datoperioder, property-styring og samtykkebaseret indsamling ligger på samme backend som weboplevelsen - den native klient er bare den foretrukne måde at køre det i hverdagen.

  • Trafik, indhold, publikum, performance, events og forbrug
  • Core Web Vitals og relaterede website-indsigter
  • Fuldt fungerende produkt - ikke en showcase-placeholder

Arkitektur

Minside Admin.exe starter en Electron main-proces. Den ejer BrowserWindow, navigation guards, persistent cookie-partition og auto-reload ved fejl. Chromium loader derefter den live site på simonringwelski.dk.

Arkitekturoversigt over desktop-klienten. Bygget med Electron fungerer applikationen som en sikker wrapper omkring webplatformen. Den giver vedvarende autentifikation, navigationskontrol, automatisk recovery ved forbindelsesfejl og en desktop-optimeret oplevelse, mens webappen loades via Chromium.

main.js styrer vindue, domænelås, recovery-backoff og sessionspersistens. preload.js er broen mellem Electron og siden og holdes bevidst tom eller minimal. package.json driver scripts og electron-builder-output.

Dev bruger npm start mod lokal main.js. Release kører npm run dist: konverter logo til .ico, og byg Minside Admin Setup (installer + genvej) plus en portable .exe. Websitet pakkes aldrig ind i binary’en.

  • Electron main-proces + Chromium-renderer
  • Navigation guards begrænset til simonringwelski.dk (og subdomæner)
  • persist:minside-partition til cookies og site-storage
  • Auto-reload med backoff ved load/crash/hang
  • electron-builder installer og portable Windows-builds

Shell-adfærd og sikkerhed

Ved start hedder vinduet “Minside Admin”, og første URL er det live login med client=desktop-app. Eksterne links og redirects uden for domænet blokeres i appen og åbnes i brugerens normale browser i stedet.

Sessioner overlever genstart, fordi cookies og storage ligger under Electrons user data-mappe og flushes til disk ved luk. Hvis hovedsiden fejler, renderer crasher, eller siden hænger, planlægges reload med backoff fra 1s op til 30s; et vellykket load nulstiller tælleren.

Sikkerhedsdefaults er stramme: nodeIntegration slået fra, contextIsolation og sandbox slået til - så websitet ikke kan nå Node eller fil-API’er gennem shell’en.

  • Ingen adresselinje; domænelåst navigation
  • Vedvarende login på tværs af app-genstarter
  • Backoff-reload ved load-fejl, crash eller hang
  • nodeIntegration: false, contextIsolation: true, sandbox: true