# Gigafibre

Plateforme complète pour Gigafibre ISP (marque consommateur de TARGO).

## Structure du monorepo

```
gigafibre-fsm/
  apps/
    dispatch/       Vue 3 / Quasar / Pinia — PWA de dispatch terrain
    website/        React / Vite / Tailwind — www.gigafibre.ca
  erpnext/
    setup_fsm_doctypes.py   Setup des doctypes FSM dans ERPNext
  docs/
    ARCHITECTURE.md         Modèle de données, stack technique
    INFRASTRUCTURE.md       Serveur, DNS, auth, APIs, gotchas
    ROADMAP.md              Plan d'implémentation en 5 phases
    COMPETITIVE-ANALYSIS.md Analyse concurrentielle
```

## Apps

### Dispatch PWA (`apps/dispatch/`)
Interface de répartition terrain : timeline drag-drop, carte Mapbox avec GPS temps réel (Traccar), gestion techniciens.

```bash
cd apps/dispatch
npm install
npx quasar dev        # dev local
DEPLOY_BASE=/ npx quasar build -m pwa   # build prod
```

### Site web (`apps/website/`)
Site vitrine www.gigafibre.ca : qualification d'adresse (5.2M adresses QC), formulaire contact, capture leads.

```bash
cd apps/website
npm install
npm run dev           # dev local
npm run build         # build prod
```

## ERPNext — Doctypes FSM

```bash
docker cp erpnext/setup_fsm_doctypes.py erpnext-backend-1:/home/frappe/frappe-bench/apps/frappe/frappe/
docker exec erpnext-backend-1 bench --site erp.gigafibre.ca execute frappe.setup_fsm_doctypes.create_all
```

## Documentation

| Document | Contenu |
|----------|---------|
| [ARCHITECTURE.md](docs/ARCHITECTURE.md) | Modèle de données, stack, auth flow |
| [INFRASTRUCTURE.md](docs/INFRASTRUCTURE.md) | Serveur, DNS, Traefik, Authentik, Docker, gotchas |
| [ROADMAP.md](docs/ROADMAP.md) | 5 phases d'implémentation |
| [COMPETITIVE-ANALYSIS.md](docs/COMPETITIVE-ANALYSIS.md) | Gaiia, Odoo, Zuper, Salesforce, ServiceTitan |

## Infrastructure

Voir [INFRASTRUCTURE.md](docs/INFRASTRUCTURE.md) pour le schéma complet. En résumé :

- **Serveur:** 96.125.196.67 (Proxmox VM, Ubuntu 24.04)
- **Proxy:** Traefik v2.11 avec Let's Encrypt
- **Auth:** Authentik SSO (auth.targo.ca) via forwardAuth
- **ERP:** ERPNext v16 (erp.gigafibre.ca)
- **GPS:** Traccar (tracker.targointernet.com)
- **Workflows:** n8n (n8n.gigafibre.ca)
- **DNS:** Cloudflare (gigafibre.ca)
- **Email:** Mailjet (noreply@targo.ca)
- **SMS:** Twilio (+1 438 231-3838)
