6989a98d75
- Arkitektur: docs/auth/passwordless-architecture.md - Backend: iom/quixzoom-auth-service/ (FastAPI + Redis) - Webb: quixzoom-market-pages/se/login/ (QR-kod + polling) - App: iom/quixzoom-app/src/features/auth/ (push + deep links) Flöde: QR-kod → app-godkännande → webb-inloggad
69 lines
1.6 KiB
Markdown
69 lines
1.6 KiB
Markdown
# quiXzoom Native App
|
|
|
|
> iOS/Android field data collection app for the quiXzoom platform.
|
|
|
|
## Features
|
|
|
|
- 📷 **Camera** — Real-time capture with evidence overlay
|
|
- 📍 **GPS** — Precise location tagging with accuracy info
|
|
- 🔍 **Visual Geolocation** — 7-layer evidence extraction
|
|
- 🎯 **Missions** — Browse, accept, and complete missions
|
|
- 📤 **Offline Queue** — Work without internet, sync later
|
|
- 📊 **Stats** — Track earnings, observations, and level
|
|
- 👤 **Profile** — Manage account and settings
|
|
|
|
## Tech Stack
|
|
|
|
- React Native 0.72
|
|
- Redux Toolkit + Persist
|
|
- React Navigation
|
|
- react-native-vision-camera
|
|
- react-native-community/geolocation
|
|
- Axios
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
# Install dependencies
|
|
npm install
|
|
|
|
# iOS
|
|
npx pod-install
|
|
npx react-native run-ios
|
|
|
|
# Android
|
|
npx react-native run-android
|
|
```
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
quixzoom-app/
|
|
├── src/
|
|
│ ├── api/ # API client
|
|
│ ├── components/ # Reusable components
|
|
│ ├── navigation/ # Navigation setup
|
|
│ ├── screens/ # Screen components
|
|
│ └── store/ # Redux store
|
|
├── App.js # Root component
|
|
├── index.js # Entry point
|
|
└── package.json
|
|
```
|
|
|
|
## API Endpoints
|
|
|
|
- `POST /auth/register` — Register
|
|
- `POST /auth/login` — Login
|
|
- `GET /missions` — List missions
|
|
- `POST /observations` — Create observation
|
|
- `POST /visual-geolocation/analyze` — Analyze image
|
|
- `GET /stats` — Get stats
|
|
|
|
## Offline Support
|
|
|
|
The app automatically queues requests when offline and syncs when connection is restored.
|
|
|
|
## License
|
|
|
|
MIT
|