58ca4e68db
- 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
67 lines
2.0 KiB
Markdown
67 lines
2.0 KiB
Markdown
# quiXzoom Shop
|
|
|
|
E-handel för quiXzoom Field Gear Collection.
|
|
|
|
## Arkitektur
|
|
|
|
- **Backend:** FastAPI + asyncpg + Redis
|
|
- **Databas:** PostgreSQL (delad med IOM)
|
|
- **Frontend:** Jinja2-templates (mobilanpassade)
|
|
- **App:** WebView som laddar shoppen
|
|
- **Gating:** Endast Zoomers med 10+ completed missions
|
|
|
|
## Produkter
|
|
|
|
18 produkter i Field Gear Collection:
|
|
- Kläder: Field Vest, Mission Shell, Field Pants, Base Layer
|
|
- Accessoarer: Field Beanie, Field Gloves, Ref. Coin, Tactical Belt, quiXzoom Patch, Field Socks
|
|
- Utrustning: Capture Strap, Utility Pouch, Pocket Light, Power Module, Cable Kit, Rain Cover, Field Bag, Field Bottle
|
|
|
|
## API Endpoints
|
|
|
|
| Endpoint | Method | Auth | Beskrivning |
|
|
|----------|--------|------|-------------|
|
|
| `/health` | GET | Nej | Health check |
|
|
| `/api/products` | GET | Nej | Lista produkter |
|
|
| `/api/products/{id}` | GET | Nej | Produktinfo |
|
|
| `/api/eligibility` | GET | Ja | Kolla om användare får handla |
|
|
| `/api/orders` | POST | Ja | Skapa order |
|
|
| `/api/orders` | GET | Ja | Lista mina ordrar |
|
|
| `/api/orders/{id}` | GET | Ja | Orderdetaljer |
|
|
|
|
## Deployment
|
|
|
|
```bash
|
|
# Bygg
|
|
docker build -t quixzoom-shop:latest .
|
|
|
|
# Kör (kräver att iom-network finns)
|
|
docker-compose up -d
|
|
```
|
|
|
|
## Miljövariabler
|
|
|
|
| Variabel | Default | Beskrivning |
|
|
|----------|---------|-------------|
|
|
| `DATABASE_URL` | `postgresql://iom:iom_secret@localhost:5432/iom` | PostgreSQL connection |
|
|
| `REDIS_URL` | `redis://localhost:6379/0` | Redis connection |
|
|
| `JWT_SECRET` | `quixzoom_secret` | JWT signing key |
|
|
| `SHOP_MISSION_THRESHOLD` | `10` | Minsta antal uppdrag för att handla |
|
|
|
|
## Integration med quiXzoom App
|
|
|
|
1. Appen har en "Shop"-tab (🛒)
|
|
2. WebView laddar `https://shop.quixzoom.com`
|
|
3. Token injectas via `localStorage`
|
|
4. Eligibility checkas vid laddning
|
|
5. Om < 10 uppdrag → låsskärm med progress
|
|
|
|
## Framtida förbättringar
|
|
|
|
- [ ] Stripe betalningsintegration
|
|
- [ ] Admin-panel för produkthantering
|
|
- [ ] Orderhantering (packing, shipping)
|
|
- [ ] Inventory tracking
|
|
- [ ] Kampanjkoder
|
|
- [ ] Wishlist
|