This commit is contained in:
2025-12-16 15:28:19 +01:00
parent 2809d18c12
commit d70c2ab1b9

View File

@@ -1,6 +1,6 @@
# Facebook Post Tracker # Facebook Post Tracker
Eine Chrome/Firefox-Extension mit Docker-Backend zum Verwalten und Abhaken von Facebook-Beiträgen über mehrere Browser-Profile hinweg. Eine Chrome/Firefox-Extension mit Docker-Backend und Single-Page-Webinterface zum Verwalten und Abhaken von Facebook-Beiträgen über mehrere Browser-Profile hinweg.
## Features ## Features
@@ -81,23 +81,32 @@ Das Web-Interface ist erreichbar unter `http://localhost:8080`
- Siehst du den Status: `X/Y Profile ✓/✗` - Siehst du den Status: `X/Y Profile ✓/✗`
- Klicke auf "Abhaken", wenn noch nicht für dein Profil erledigt - Klicke auf "Abhaken", wenn noch nicht für dein Profil erledigt
### Im Web-Interface: ### Im Web-Interface (SPA):
1. Öffne `http://localhost:8080` Öffne `http://localhost:8080` und nutze die Navigation oben, um zwischen den Views zu wechseln. Die SPA-Views hängen am Query-Parameter `view`:
2. Wähle dein aktuelles Profil aus
3. **Offene Beiträge**: Zeigt alle Beiträge, die noch nicht von allen Profilen abgehakt wurden
4. **Alle Beiträge**: Zeigt alle erfassten Beiträge
5. Klicke auf "Beitrag öffnen & abhaken", um:
- Den Beitrag in neuem Tab zu öffnen
- Automatisch für dein Profil abzuhaken
### Daily-Bookmarks-Seite - `?view=posts` (Standard): Offene/alle Beiträge
- `?view=dashboard`: Kennzahlen & Statistiken
- `?view=settings`: Einstellungen/Schwellwerte
- `?view=bookmarks`: Bookmark-Suche (nicht täglich)
- `?view=automation`: Request-Automationen (HTTP/Email/Flows)
- `?view=daily-bookmarks`: Daily Bookmarks (tägliche Liste mit Platzhaltern)
- Öffne `http://localhost:8080/daily-bookmarks.html` für eine eigenständige Bookmark-Übersicht Direktlinks wie `automation.html` oder `daily-bookmarks.html` leiten nur noch auf die passenden SPA-Views um.
- Lege Links mit dynamischen Platzhaltern an (z.B. `{{day}}`, `{{date-1}}`)
- Markiere Bookmarks einmal pro Tag als erledigt; der Status wird in der SQLite-DB gespeichert ### Daily Bookmarks (SPA-View)
- View: `http://localhost:8080/?view=daily-bookmarks`
- Lege Links mit dynamischen Platzhaltern an (z.B. `{{day}}`, `{{date-1}}`, `{{counter:123}}`)
- Markiere Bookmarks einmal pro Tag als erledigt; Status landet in SQLite
- Links werden pro gewähltem Tag aufgelöst, z.B. `https://www.test.de/tag-{{day}}/` - Links werden pro gewähltem Tag aufgelöst, z.B. `https://www.test.de/tag-{{day}}/`
### Automationen (SPA-View)
- View: `http://localhost:8080/?view=automation`
- HTTP-/Email-/Flow-Automationen mit Platzhaltern, Intervalen, Jitter
- Echtzeit-Updates via SSE (`/api/events`)
## API-Endpunkte ## API-Endpunkte
Das Backend stellt folgende REST-API bereit: Das Backend stellt folgende REST-API bereit:
@@ -189,10 +198,18 @@ npm run dev
## Technologie-Stack ## Technologie-Stack
- **Backend**: Node.js, Express, SQLite (better-sqlite3) - **Backend**: Node.js, Express, SQLite (better-sqlite3)
- **Web-Interface**: Vanilla JavaScript, HTML, CSS - **Web-Interface**: Vanilla JavaScript, HTML, CSS (SPA)
- **Extension**: Manifest V3 (Chrome & Firefox kompatibel) - **Extension**: Manifest V3 (Chrome & Firefox kompatibel)
- **Deployment**: Docker, docker-compose - **Deployment**: Docker, docker-compose
## Updates & Abhängigkeiten
- **NPM-Dependencies (Backend)**: `cd backend && npm install && npm outdated` prüfen. Upgrade per `npm update` oder gezielt Versionen anheben, anschließend Tests/Manuallauf.
- **Frontend-Libs**: `web/vendor/list.min.js` wird lokal gebundled; bei Update die neue Version in `web/vendor` legen und Caching beachten.
- **Browser-Extension**: Manifest V3, Icons/Assets im Ordner `extension/`. Bei Browser-Updates ggf. Permissions/Manifest anpassen, danach in Chrome/Firefox neu laden.
- **Docker-Images**: `docker-compose build` neu bauen nach Dependency-Updates. Basis-Images im `backend/Dockerfile` prüfen.
- **SPA-Views**: Navigation über `?view=`; direkte HTML-Seiten (`automation.html`, `daily-bookmarks.html`, `bookmarks.html`, `dashboard.html`, `settings.html`) sind Redirect-Stubs. Neue Views sollten in `index.html` + `app.js` (Navigation) ergänzt werden.
## Lizenz ## Lizenz
MIT MIT