Files
boc/PROJECT.md
T
Bernt bae705aa97 ARCHITECTURE: NFC roadmap, edge AI, audit logging
- Add NFC ePassport roadmap (ICAO 9303, eIDAS)
- Add TensorFlow.js edge face detection (BlazeFace)
- Add structured audit logger (GDPR-compliant)
- Risk scoring support

Part of KYC Apple Native UX v1.1.0
2026-06-29 16:24:48 +00:00

8.7 KiB

quiXzoom App — TestFlight Beta Project

Status: Ready for TestFlight submission
Version: 1.0.0 (Build 1)
Platform: iOS 13.0+
Testers: 10 interna platser
Datum: 2026-06-27


📋 Översikt

quiXzoom är en React Native-baserad fältdata-app för iOS som låter "Zoomers" samla in infrastrukturdata via kamera och GPS. Appen är byggd för TestFlight-beta med 10 interna testare.


🏗 Projektstruktur

iom/quixzoom-app/
├── App.js                          # Root-komponent
├── index.js                        # Entry point med Redux
├── app.json                        # App-konfiguration
├── package.json                    # Dependencies
├── README.md                       # Utvecklardokumentation
├── TESTFLIGHT-GUIDE.md             # TestFlight setup-guide
├── TESTPLAN.md                     # Detaljerad testplan
├── scripts/
│   └── verify-build.sh             # Byggverifiering
├── src/
│   ├── api/
│   │   └── client.js               # Axios API-klient med offline-stöd
│   ├── components/
│   │   ├── CameraView.js           # Kamera med realtids-overlay
│   │   ├── EvidencePanel.js        # Bevisanalys-panel
│   │   ├── MissionCard.js          # Uppdragskort
│   │   └── StatsView.js            # Statistik-dashboard
│   ├── hooks/
│   │   ├── useCamera.js            # Kamera-hook
│   │   ├── useLocation.js          # GPS-hook
│   │   └── useMissions.js          # Uppdragshantering
│   ├── navigation/
│   │   └── AppNavigator.js         # Tab + Stack navigator
│   ├── screens/
│   │   ├── HomeScreen.js           # Huvudskärm (kamera/uppdrag)
│   │   ├── StatsScreen.js          # Statistik
│   │   └── ProfileScreen.js        # Profil & inställningar
│   ├── store/
│   │   └── store.js                # Redux Toolkit + Persist
│   └── utils/
│       ├── permissions.js          # Behörighetshantering
│       └── offlineManager.js       # Offline-kö
├── ios/                            # iOS-projekt
│   ├── quixzoom.xcodeproj/         # Xcode-projekt
│   ├── quixzoom/
│   │   ├── AppDelegate.h           # App-delegat header
│   │   ├── AppDelegate.mm          # App-delegat implementation
│   │   ├── main.m                  # Entry point
│   │   ├── Info.plist              # App-info & behörigheter
│   │   ├── LaunchScreen.storyboard # Startskärm
│   │   ├── quixzoom.entitlements   # Capabilities
│   │   └── Images.xcassets/        # App-ikoner
│   ├── Podfile                     # CocoaPods dependencies
│   └── ExportOptions.plist         # Export-konfiguration
└── android/                        # Android-projekt
    ├── build.gradle
    └── app/build.gradle

TestFlight-konfiguration

App Store Connect-inställningar

Inställning Värde
Bundle ID com.quixzoom.app
App-namn quiXzoom
Version 1.0.0
Build 1
Min iOS-version 13.0
Enheter iPhone (armv7, gps, camera krävs)
Orientering Portrait only

Behörigheter (Info.plist)

Behörighet Motivering
Kamera Fältobservationer med fotodokumentation
Plats (When In Use) GPS-taggning av observationer
Plats (Always) Bakgrundsspårning vid uppdrag
Mikrofon Videoobservationer med ljud
Fotobibliotek Ladda upp befintliga bilder
Bakgrundsläge Fetch, Location, Processing

Capabilities (Entitlements)

  • Push Notifications (APS Environment: Production)
  • Sign in with Apple
  • Associated Domains (applinks:quixzoom.com)
  • WiFi Info Access

🚀 Bygginstruktioner

Förberedelser

# 1. Installera dependencies
cd iom/quixzoom-app
npm install

# 2. Installera iOS-pods
cd ios
pod install
cd ..

Bygg för Simulator

npx react-native run-ios --simulator="iPhone 15 Pro"

Bygg för Device (TestFlight)

# 1. Öppna i Xcode
open ios/quixzoom.xcodeproj

# 2. Välj target device (ansluten iPhone)
# 3. Välj Product → Archive
# 4. Välj Distribute App → App Store Connect → Upload

Automatiserad bygg (CLI)

# Bygg archive
xcodebuild -workspace ios/quixzoom.xcworkspace \
  -scheme quixzoom \
  -sdk iphoneos \
  -configuration Release \
  -archivePath build/quixzoom.xcarchive \
  archive

# Exportera IPA
xcodebuild -exportArchive \
  -archivePath build/quixzoom.xcarchive \
  -exportPath build/quixzoom.ipa \
  -exportOptionsPlist ios/ExportOptions.plist

👥 TestFlight-testgrupp

Intern testgrupp (10 platser)

# E-post Roll Status
1 erik@landvex.com Product Owner Inbjuden
2 dev@quixzoom.com Lead Developer Inbjuden
3 test1@quixzoom.com QA Tester Väntar
4 test2@quixzoom.com QA Tester Väntar
5 test3@quixzoom.com Field Tester Väntar
6 test4@quixzoom.com Field Tester Väntar
7 test5@quixzoom.com UX Tester Väntar
8 test6@quixzoom.com UX Tester Väntar
9 test7@quixzoom.com Beta User Väntar
10 test8@quixzoom.com Beta User Väntar

Testplan

  1. Registrering & Onboarding

    • Skapa konto med e-post
    • Verifiera e-post
    • Godkänn villkor
  2. Kamera & GPS

    • Ge kamerabehörighet
    • Ge platsbehörighet
    • Ta testfoto med GPS-tagg
  3. Uppdrag

    • Visa närliggande uppdrag
    • Acceptera uppdrag
    • Ladda upp observation
  4. Offline-läge

    • Stäng av nätverk
    • Ta foto
    • Verifiera synk när nätverk återkommer
  5. Profil & Utbetalning

    • Visa statistik
    • Konfigurera Stripe Connect
    • Begär utbetalning

📱 Native-funktioner

Funktion Status Bibliotek
Kamera Klar react-native-vision-camera
GPS/Plats Klar @react-native-community/geolocation
Offline-kö Klar Redux Persist + AsyncStorage
Push-notiser ⚠️ Konfigurerad APS Environment (kräver certifikat)
Sign in with Apple ⚠️ Konfigurerad Entitlements (kräver implementation)
Kartor Klar react-native-maps
Filhantering Klar react-native-fs
Delning Klar react-native-share

🔐 Säkerhet & Compliance

Privacy Nutrition Labels (Apple)

Datatyp Insamlas Länkad till användare
Precis plats (GPS) Ja Ja
Foton/kamera Ja Nej
Namn, e-post Ja Ja
Enhets-ID Ja Nej

Krypteringsdeklaration

  • ITSAppUsesNonExemptEncryption: false (standardkryptering endast)

Verifiering

Byggverifiering

$ ./scripts/verify-build.sh
✅ Build verification PASSED
   Alla filer verifierade
   0 errors, 0 warnings

iOS-konfiguration

  • Xcode-projekt skapat (quixzoom.xcodeproj)
  • Info.plist konfigurerad med behörigheter
  • LaunchScreen.storyboard skapad
  • AppIcon.appiconset konfigurerad
  • ExportOptions.plist för App Store-distribution
  • Entitlements (Push, Sign in with Apple, Associated Domains)

TestFlight-konfiguration

  • App Store Connect-app skapad (dokumenterad)
  • Intern testgrupp definierad (10 platser)
  • Testplan skapad (7 scenarier)
  • Build-verifieringsskript skapat

📝 Versionshistorik

Version Build Datum Ändringar
1.0.0 1 2026-06-27 Initial TestFlight-beta

⚠️ Kända begränsningar

  1. Push-notiser: Kräver APNS-certifikat och server-konfiguration
  2. Sign in with Apple: UI implementerad, kräver backend-koppling
  3. Stripe Connect: Testläge, live-läge kräver aktivering
  4. AI-bildanalys: Använder Ollama (lokal), molnbaserad fallback planerad

📚 Dokumentation

Dokument Beskrivning
TESTFLIGHT-GUIDE.md Steg-för-steg guide för TestFlight-setup
TESTPLAN.md Detaljerad testplan för 10 testare
README.md Utvecklardokumentation

🔗 Resurser


📞 Kontakt


Senast uppdaterad: 2026-06-27