33800 Docs

← Retour

Task: NeedFinder - Intégration AI Orchestrator

Date : 23/01/2026 00:15 Status : PARTIELLEMENT TERMINÉ

Objectif

Faire en sorte que NeedFinder utilise l'AI Orchestrator pour l'analyse des posts collectés.

Problèmes rencontrés

⚠️ ERREUR MAJEURE - Mauvaise compréhension de l'architecture

J'ai fait une erreur grave en modifiant le schéma sans comprendre l'architecture existante :

  1. Le projet utilisait DEUX bases de données différentes :

    • Base postgres : où j'ai créé les migrations (schema needfinder)
    • Base needfinder : où l'application se connectait réellement (via NEEDFINDER_DB_URL)
  2. Le schéma existant était différent :

    • Table posts avec source_id (UUID FK), external_url, posted_at
    • Table needs (pas detected_needs)
    • Table mentions (pas need_mentions)
    • Vue raw_posts basée sur posts
  3. Ce qui a causé les erreurs :

    • J'ai créé un nouveau schéma v2 dans la mauvaise base
    • Le code utilisait des colonnes qui n'existaient pas (source au lieu de source_id)
    • Les contraintes d'unicité étaient différentes

Travail effectué

1. Modification scheduler.ts (FAIT)

2. Fix collecteurs pour le bon schéma (FAIT)

3. Fix analyzer.ts pour le bon schéma (FAIT)

État actuel

Structure réelle de la base needfinder

-- Table posts
id UUID PRIMARY KEY
source_id UUID FK -> sources(id)
external_id VARCHAR(255)
external_url TEXT
title TEXT
content TEXT
author VARCHAR(255)
subreddit VARCHAR(100)
score INTEGER
comment_count INTEGER
posted_at TIMESTAMP
is_processed BOOLEAN
created_at TIMESTAMP

-- Table needs
id UUID PRIMARY KEY
need_statement TEXT
category VARCHAR(100)
need_type VARCHAR(50)
opportunity_score INTEGER
willing_to_pay BOOLEAN
avg_post_score INTEGER
total_engagement INTEGER
mention_count INTEGER
last_seen_at TIMESTAMP
created_at TIMESTAMP

-- Table mentions
id UUID PRIMARY KEY
need_id UUID FK -> needs(id)
post_id UUID FK -> posts(id)
extracted_text TEXT
confidence REAL
created_at TIMESTAMP

Prochaines étapes

  1. [ ] Investiguer l'erreur 500 de l'orchestrator
  2. [ ] Tester l'analyse une fois l'orchestrator réparé
  3. [ ] Vérifier que le dashboard affiche les bonnes données