# Entwickler-Setup & Guideline

Wenn du weitere Features zum Cable Consolidation Add-In hinzufügen möchtest, hilft dir dieses Dokument beim lokalen Setup.

## 1. Lokale Entwicklungsumgebung

**Voraussetzungen:**
- Node.js (>= 16.x)
- `npm` (wird mit Node.js installiert)
- Microsoft Excel Desktop-App (für Windows/Mac) oder Office 365 Web

**Installation:**
```bash
git clone https://gitea.casademm.de/Peacock/Cable-consolidation.git
cd Cable-consolidation
npm install
```

## 2. Den Entwicklungs-Server starten

Um Änderungen lokal zu testen, führe aus:
```bash
npm start
```

**Was passiert dabei?**
1. Der Befehl startet einen lokalen HTTPS-Webserver (webpack-dev-server) auf Port `3037` (oder wie in der `webpack.config.js` angegeben).
2. Es führt im Hintergrund (wenn auf Windows) ein Skript aus, das die `manifest.xml` an dein lokales Excel Desktop "sideloadet".
3. Deine Excel App öffnet sich automatisch. Du findest den Add-In Button unter "Start" (Ganz rechts).
4. Wenn du Code-Dateien (.tsx, .ts, .css) speicherst, wird das Add-In im Aufgabenbereich dank "Hot Module Replacement" sofort automatisch neu geladen.

## 3. Typische Fehler & Lösungen

* **Zertifikatsfehler im Browser:** Web-Add-Ins erfordern zwingend HTTPS. Falls der Dev-Server meckert, dass kein Zertifikat vorhanden ist, führe aus:
  `npx office-addin-dev-certs install`
* **CORS-Probleme bei externen Requests:** Solange ihr alles komplett im Frontend macht (wie beim SheetJS-Upload), gibt es keine CORS Probleme. Falls ihr künftig aber APIs vom Firmen-Backend abfragen wollt, müsst ihr an Nginx (bzw. dem Backend) entsprechende `Access-Control-Allow-Origin` Header setzen.

## 4. Für die Produktion bauen

Wenn du ein neues Feature fertiggestellt hast, musst du das Projekt bauen, um minifizierte, optimierte JavaScript-Bundles zu erhalten:

```bash
npm run build
```

Das Ergebnis liegt anschließend im Ordner `/dist`. Die dortigen Dateien müssen dann einfach auf den Produktions-Server (`kabel.casademm.de`) hochgeladen und dort überschrieben werden.
