Skip to content

Equinet v0.3.0 – Customer Preview

Pre-release
Pre-release

Choose a tag to compare

@cola500 cola500 released this 29 Sep 14:48
4973f6e

v0.3.0

⚠️ Customer Preview / pre-release -- endast fiktiv testdata. Denna release är avsedd för demonstration och återkoppling, inte en fullskalig produktionslansering med skarpa användare. Ingen skarp kund-, häst-, boknings-, betalnings- eller kontaktinformation får läggas in i någon miljö som kör denna SHA förrän GDPR-arbetet nedan är slutfört. All data i staging/demo-miljön är fiktiva demo-personas och seed-data.

Mål-SHA: 4973f6e919339b022425063bd8a280fa2bbe9b41 (verifierad produktkandidat, grön Quality Gate Passed, rök-verifierad på staging -- se checkpoint-dokumentet för fullständiga detaljer)

Detta är den första release-kandidaten sedan v0.2.0 (2026-01-22) som förberetts för produktionsövervägande, efter en lång utvecklingsperiod (~506 sammanslagna PR:ar). Plattformen har under denna period vuxit från en tidig MVP till en fullständig bokningsplattform med native iOS-app, betalningar, RLS-säkrad databas, offline-stöd och admin-verktyg. Denna release representerar därför en bred, kumulativ sammanfattning snarare än en incrementell lista över enskilda commits -- se länken nedan för fullständig commit-historik.

Höjdpunkter

Autentisering & säkerhet

  • Migrerad till Supabase Auth (hanterade lösenord, sessions, email-verifiering, Custom Access Token Hook)
  • Row Level Security (RLS) på samtliga kärndomäner, med bevistester
  • CSP, HSTS, rate limiting, admin-MFA, admin session-timeout, admin audit log
  • IDOR- och auth-härdning genomförd över ett stort antal API-routes

Bokning

  • Fast tid + flexibla beställningar, mobil-först stegvist bokningsflöde
  • Självservice-ombokning, återkommande bokningar (serier), gruppbokningar för stallgemenskaper
  • Atomiskt dubbelbokningsskydd, no-show-spårning, väntetids-/körtidsvalidering

Leverantörsverktyg

  • Kalender (dag/vecka/månad), ruttplanering med kartvy och optimering, ruttannonsering
  • Kundregister med anteckningar, kundinbjudan/kontoslagning, kundrecensioner
  • Röstloggning med AI-tolkning, affärsinsikter, onboarding-wizard

Betalningar & integrationer

  • Stripe-integrerat betalningsflöde och prenumerationer (feature flag-skyddat)
  • Bokföringsintegration (Fortnox), bilduppladdning (Supabase Storage)
  • GDPR-dataexport (JSON/CSV)

iOS-app (hybrid + native SwiftUI)

  • Native vyer för dashboard, kalender, bokningar, kundhantering
  • Push-notiser (APNs), EventKit-kalendersynk, WidgetKit-widget, native taligenkänning
  • JWT-baserad mobiltoken-auth, offline-detektion, VoiceOver-stöd

Offline & PWA

  • Installningsbar PWA med Serwist service worker, IndexedDB-cache
  • Offline mutation queue med automatisk synk vid återanslutning

Admin

  • Fullständig adminpanel: dashboard, användarhantering, bokningshantering, recensionsmoderation, verifieringsgranskning, bulk-notiser, systeminställningar

Demo-läge

  • Fullt seedad demo-upplevelse (NEXT_PUBLIC_DEMO_MODE) för staging/produktion-visning utan att exponera skarp data

Testning & driftsäkerhet

  • ~4946 tester (~4612 Vitest unit/integration + 312 iOS XCTest + 22 E2E-specs), 70% coverage
  • CI: migration-from-scratch-verifiering, RLS-täckning som guardrail, offline E2E-smoke
  • Produktionsdeploy är numera workflow_dispatch-gated: kräver explicit SHA-input, grön Quality Gate Passed, och en aktiv, mänskligt godkänd dispatch -- ingen automatisk deploy vid push, tagg eller release

Vad "Customer Preview" betyder för den här releasen

  • Syfte: demonstration och strukturerad återkoppling från utvalda intressenter -- inte en bred, skarp lansering.
  • Data: endast fiktiv testdata (demo-personas, seed-data). Ingen verklig kund, häst, bokning, betalning eller kontaktuppgift får registreras i någon miljö som kör denna release förrän GDPR-arbetet nedan är avslutat.
  • Konsekvens av detta: GDPR-arbetet (se nedan) är INTE en blockerare för att dela ut v0.3.0 som Customer Preview med fiktiv data -- men det ÄR ett villkor som måste vara uppfyllt innan plattformen tas i bruk med riktiga personuppgifter.

Kända begränsningar och kvarvarande manuella kontroller

  • Manuell rök-verifiering, inte fullautomatiserad produktionslik E2E: denna exakta SHA har rök-verifierats manuellt med Playwright (demo-läge, auth, en bokning end-to-end) på staging, utöver CI:ts egen automatiserade E2E-svit. Ingen fullständig regressionstestning av samtliga ~4946 tester har körts specifikt mot en produktionsdeploy av denna SHA (CI:s testsvit körs i CI-miljö, inte mot en riktig deploy).
  • Produktionsdeploy kräver fortsatt manuellt, separat godkännande: deploy-production.yml är workflow_dispatch-only och har hittills endast körts med dry_run=true. Ingen produktionsdeploy av denna release-kandidat har skett.
  • Delad databas mellan Preview och staging-target: upptäckt under denna releasesprint (equinet-staging-apps DATABASE_URL har target: ["production","preview"]) -- gäller endast staging-miljön, inte produktion, men är värt att känna till vid framtida Preview-verifieringar.
  • Se docs/operations/release-sprint-checkpoint.md för fullständig, verifierad status kring denna release-kandidat (deployment-ID:n, hälsokontroller, rollback-planer).

Framtida krav före användning med riktiga personuppgifter (inte blockerande för denna Customer Preview)

Följande GDPR-relaterat arbete kvarstår som Johans/juridisk rådgivnings beslut och är INTE påbörjat av denna sprint. Det blockerar inte denna release-kandidat som Customer Preview med fiktiv data, men måste vara löst innan plattformen används med riktiga personuppgifter:

  • Bolagsuppgifter (vem är personuppgiftsansvarig, organisationsform)
  • DPO-bedömning (behövs ett dataskyddsombud?)
  • Personuppgiftsbiträdesavtal med underleverantörer (Supabase, Vercel, Stripe, Resend, m.fl.)
  • SCC-status (Standard Contractual Clauses) för amerikanska underleverantörer

Fullständig historik: v0.2.0...v0.3.0