Skip to content

Latest commit

 

History

History
90 lines (60 loc) · 5.1 KB

File metadata and controls

90 lines (60 loc) · 5.1 KB

SecondHand Mastery

En central Windows-desktopapp der opretter, poster, overvåger og optimerer brugtsalgs-annoncer på tværs af Gul & Gratis, Vinted, DBA og Facebook Marketplace — fra minimalt input.

Kort fortalt: Opret en annonce én gang. Appen udfylder den optimalt på hver platform (rigtige felter, tags, kategorier), du logger ind med din egen konto, og du får ét samlet overblik over visninger, likes, udløb og status. AI (din egen nøgle) kan lave udkast fra fotos og skræddersy hver annonce til hver markedsplads.


Hvordan det virker (og hvorfor sådan)

Ingen af de fire platforme har et offentligt API en privatperson kan bruge til at oprette annoncer. Derfor gør appen præcis det samme som alle professionelle crosslisting-værktøjer (Vendoo, List Perfectly m.fl.): den automatiserer platformens egen web-UI i en synlig browser hvor du selv er logget ind.

To principper er bærende:

  1. Ingen gemte passwords. Du logger ind manuelt én gang pr. platform (inkl. 2FA og DBA's MitID) i et synligt browservindue. Appen persisterer kun den autentificerede browserprofil lokalt — aldrig dine credentials.
  2. Semi-auto som standard. Appen udfylder hele formularen, men du trykker publicér. Det holder dig i kontrol og minimerer risikoen for platform-bans. Fuld auto kan slås til pr. platform (undtagen Facebook, der altid kræver dit klik).

⚠️ Automatisering strider mod platformenes brugervilkår. Appen er tænkt som et personligt værktøj til din egen konto, kørt i menneskeligt tempo. Facebook har den højeste ban-risiko og behandles mest forsigtigt.


Funktioner

  • Opret listing fra minimalt input — manuelt, eller lad AI lave et komplet udkast (titel, beskrivelse, kategori, stand, prisforslag, mærke, farve, størrelse, tags) ud fra dine fotos.
  • Post på alle platforme — kanonisk annonce oversættes af et adapter-lag til hver platforms felter. Facebook-tags, Vinted-stand, DBA-kategori mv. håndteres pr. platform.
  • Per-platform AI-optimering — samme vare, men omskrevet og udfyldt optimalt til hver markedsplads.
  • Samlet dashboard — visninger, favoritter, beskeder, aktive opslag pr. platform, samt "kræver handling" (udløber snart / gået i stå).
  • Quick-actions — bump (afmeld + genindryk), AI-omskriv titel/beskrivelse, prisjustering, afmeld, markér solgt.
  • Udløbs-overvågning — DBA-annoncer udløber efter ~60 dage; appen holder styr og advarer.
  • Salgs-detektion — når stats-scrapet ser en vare som solgt ét sted, mindes du om at afmelde de øvrige.
  • Krypteret & lokalt — al data i lokal SQLite; API-nøgler krypteret med Windows DPAPI (Electron safeStorage).

Teknisk stak

Lag Valg
Skal Electron 43 + electron-vite
UI React 19 + TypeScript + Zustand
Automatisering Playwright (synlig, persistent Chromium-profil pr. platform)
Database Nodes indbyggede node:sqlite (ingen native moduler at kompilere)
AI Pluggbart: Anthropic (Claude), OpenAI, Google Gemini — din egen nøgle
Kryptering Electron safeStorage (DPAPI på Windows)

Arkitekturen er lagdelt: kanonisk domænemodel → adapter-lag pr. platform → Playwright-motor. Al platform-specifik viden (URL'er, selektorer, feltmapping) bor udelukkende i den enkelte adapter, så et UI-skift kun kræver ændring ét sted.


Kom i gang

npm install

# valgfrit: hvis du vil bruge den medfølgende Chromium i stedet for Edge/Chrome
npx playwright install chromium

npm run dev        # udviklingstilstand med hot reload

Kommandoer

Kommando Handling
npm run dev Kør appen i udviklingstilstand
npm run build Byg main/preload/renderer-bundles
npm run typecheck TypeScript-tjek af hele kodebasen
npm test Kør unit-tests (vitest)
npm run smoke Byg + boot main-processen headless og kør kerneflows
npm run package Byg Windows-installer (NSIS) i release/

Første gang du bruger appen

  1. Platforme → log ind på hver markedsplads du vil bruge (browservindue åbner — log ind som normalt).
  2. Indstillinger → (valgfrit) indsæt en AI-nøgle for at aktivere AI-features. Sæt dit standard-postnummer.
  3. Annoncer → Ny annonce → tilføj fotos, klik "Lav udkast fra fotos med AI" (eller udfyld manuelt), og slå op på de valgte platforme.

Sikkerhed & privatliv

  • Alt kører lokalt. Ingen data forlader din maskine bortset fra (a) den normale trafik til platformene når du poster, og (b) de AI-kald du selv aktiverer mod din valgte udbyder.
  • Renderer-processen har ingen Node-adgang (contextIsolation + typed preload-bro). Fotos serveres via en valideret, sandbox'et protokol der kun kan læse appens eget fotobibliotek.
  • API-nøgler ligger krypteret; rå nøgler forlader aldrig main-processen.

Vedligeholdelse

Platform-UI'er ændrer sig uden varsel. Hver adapter beskriver felter med prioriterede selektor-lister (firstVisible), så mindre ændringer tåles. Ved større ændringer rettes kun den pågældende adapter i src/main/adapters/. Selektorerne bør kalibreres mod de live sites ved første kørsel.