Files
boc/quixzoom-shop/SHOP_STATUS.md
T
Bernt 58ca4e68db feat(boc): Complete Business Operations Center v1.0
- Go backend API with full CRUD for all modules (CRM, Sales, Finance, HR, Legal, Marketing, Support, Purchase, Inventory, Projects, Automation, Analytics)
- Rust analytics service with parallel report generation
- C runtime with POSIX shared memory IPC
- PostgreSQL schema with 30+ tables, full migrations
- Redis cache, sessions, pub/sub
- Kafka event streaming with Zookeeper
- WebSocket hub for real-time updates
- Automation engine with cron jobs, workflows, event triggers
- JWT authentication, multi-tenant from start
- Docker Compose with all services
- Nginx reverse proxy with rate limiting
- Integration tests passing
- Feature gap analysis against Fortnox/Odoo/Visma

Refs: BOC-001
2026-07-12 12:41:35 +00:00

6.3 KiB
Raw Blame History

quiXzoom Shop — Status

quiXzoom Field Program

Nivå Uppdrag Krav Förmåner
Contributor 09 Registrerad användare Digital profil, digital verifiering
Field Contributor 10+ 10 godkända uppdrag 🔓 Field Gear Store (västar, jackor, utrustning)
Verified Field Contributor 100+ 100 godkända uppdrag + 95% godkännandegrad + verifierad identitet + inga allvarliga policyöverträdelser 🔓 Field ID Kit (personligt ID-kort, hållare, lanyard) + publik verifieringssida

Byggt och klart

Backend (quixzoom-shop/)

  • FastAPI service på port 8087
  • PostgreSQL databas quixzoom_shop
  • 19 produkter (18 Field Gear + 1 Field ID Kit)
  • JWT-auth för att verifiera Zoomers
  • Tier-system med mission-gating och kvalitetskrav
  • Stripe-betalning integrerad
  • Publik verifieringssida för ID-kort

API Endpoints

Endpoint Auth Status
GET /health Nej
GET /api/products Nej (tier-filter)
GET /api/products/{id} Nej
GET /api/eligibility Ja (legacy)
GET /api/tier Ja
POST /api/orders Ja
GET /api/orders Ja
GET /api/orders/{id} Ja
POST /api/payment/create-intent Ja
POST /api/payment/webhook Stripe

Webbsidor

Sida Status
/ — Produktlista med kundvagn + tier-badge
/product/{id} — Produktdetalj
/checkout — Stripe-betalning
/verify/{id}Publik verifieringssida för ID-kort

Verifieringssida (/verify/{contributor_id})

  • Sök på Contributor ID
  • Visar status (giltigt/ogiltigt)
  • Visar contributor-info (namn, initialer, stats)
  • Förklarar vad Verified Field Contributor innebär
  • Info för fastighetsägare och kommuner
  • QR-kod leder till denna sida

App-integration

  • Ny Shop-tab (🛒) i bottom navigation
  • ShopScreen.tsx med tre tillstånd:
    • Contributor (0-9): Låsskärm med progress
    • Field Contributor (10+): WebView med shoppen + tier-banner
    • Verified Field Contributor (100+): WebView med shoppen + verified-banner
  • Eligibility-check via /api/tier
  • Token injectas via localStorage

Betalningsflöde (Stripe)

  1. Kundvagn i localStorage
  2. Order skapas i backend
  3. Stripe PaymentIntent skapas
  4. Stripe Elements för kortinmatning
  5. Webhook för betalningsbekräftelse
  6. Order uppdateras till paid

🔄 Kvar att göra

Produktion

  • Sätta upp nginx + SSL för shop.quixzoom.com
  • Konfigurera riktiga Stripe-nycklar
  • Sätta upp Stripe webhook endpoint
  • systemd service aktivera

Produktbilder

  • Ladda upp riktiga bilder för alla 19 produkter
  • CDN eller S3 för bildhosting

Orderhantering

  • Admin-panel för ordrar
  • Orderstatus-flöde (pending → paid → shipped → delivered)
  • Fraktintegration
  • E-postbekräftelser

Field ID Kit

  • ID-kort design (namn, Contributor ID, QR-kod, giltighetsdatum)
  • QR-kod generering i appen/webben
  • Beställningsflöde för ID Kit (gratis för Verified)

🚀 Snabbstart produktion

# 1. Kopiera service-filen
sudo cp quixzoom-shop.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable quixzoom-shop

# 2. Uppdatera Stripe-nycklar
sudo systemctl edit --full quixzoom-shop
# Ändra STRIPE_SECRET_KEY, STRIPE_PUBLISHABLE_KEY, STRIPE_WEBHOOK_SECRET

# 3. Starta
sudo systemctl start quixzoom-shop

# 4. Nginx-konfiguration
sudo cp nginx-shop.conf /etc/nginx/conf.d/
sudo nginx -s reload

# 5. SSL (Let's Encrypt)
sudo certbot --nginx -d shop.quixzoom.com

📊 Produkter

Field Gear Store (10+ uppdrag)

SKU Namn Pris (kr) Kategori
VEST-001 Field Vest 1 299 kläder
JACKET-001 Mission Shell 2 499 kläder
PANTS-001 Field Pants 1 799 kläder
BASE-001 Base Layer 899 kläder
BEANIE-001 Field Beanie 499 accessoarer
GLOVES-001 Field Gloves 799 accessoarer
STRAP-001 Capture Strap 599 utrustning
POUCH-001 Utility Pouch 699 utrustning
COIN-001 Ref. Coin 199 accessoarer
LIGHT-001 Pocket Light 399 utrustning
POWER-001 Power Module 1 499 utrustning
CABLE-001 Cable Kit 599 utrustning
RAIN-001 Rain Cover 799 utrustning
BAG-001 Field Bag 1 999 utrustning
BELT-001 Tactical Belt 899 accessoarer
SOCKS-001 Field Socks 399 kläder
PATCH-001 quiXzoom Patch 299 accessoarer
BOTTLE-001 Field Bottle 699 utrustning

Verified Field ID Kit (100+ uppdrag, 95% approval)

SKU Namn Pris Kategori
ID-KIT-001 Field ID Kit Gratis verified

Innehåll:

  • Personligt verifierat ID-kort
  • ID-hållare
  • Lanyard
  • Digital verifieringsmärke
  • Publik verifieringssida via QR-kod

🔒 Säkerhet

  • JWT-token valideras på varje order-request
  • Mission-count + approval rate + identity + violations hämtas från databas
  • SQL-injection skyddad via asyncpg parameteriserade queries
  • Stock-koll innan order skapas (transaction)
  • Stripe webhook signerad och verifierad
  • Verifieringssida visar endast publik info (ingen känslig data)

📁 Filer

quixzoom-shop/
├── main.py                 # FastAPI backend
├── requirements.txt        # Python dependencies
├── Dockerfile             # Docker image
├── docker-compose.yml     # Docker Compose
├── nginx-shop.conf        # Nginx reverse proxy
├── quixzoom-shop.service  # systemd service
├── README.md              # Översikt
├── STRIPE_SETUP.md        # Stripe konfiguration
├── SHOP_STATUS.md         # Denna fil
├── templates/
│   ├── shop.html          # Produktlista med tier-badge
│   ├── product.html       # Produktdetalj
│   ├── checkout.html      # Stripe-betalning
│   └── verify.html        # Publik verifieringssida
└── static/                # Bilder, CSS, JS

🔗 URL:er

Miljö URL
Lokal dev http://localhost:8087
Produktion https://shop.quixzoom.com
Verifiering https://shop.quixzoom.com/verify/{contributor_id}