Projet client · e-commerce

fish-sync

Un pipeline de synchronisation pour une boutique de pêche : le stock d’UkrSklad devient des fiches produits sur Horoshop, Rozetka et Facebook, avec des descriptions IA validées dans Telegram.

fish-sync
Année
2026
Statut
Projet client
Catalogue
85 SKU → 53 modèles
Stack
Python · Firebird · SQLite · Gemini 2.5 · aiogram 3 · XML feeds
  • 53modèles trouvés dans 85 SKU
  • 81variantes reliées à leur modèle
  • 3canaux à partir d’une seule source
  • ~22descriptions IA par jour

Le problème

La boutique gère son stock dans UkrSklad, une application de bureau avec une base Firebird. Chaque marketplace veut son propre flux, les variantes ne sont suggérées que par les noms, et personne n’a le temps d’écrire une description par modèle.

Comment ça marche

  1. 01

    Instantané du stock

    Une copie de la base UkrSklad est lue sans toucher au fichier en service et exportée en JSON : 85 SKU.

  2. 02

    Trouver les modèles

    Un analyseur de noms regroupe les SKU en modèles parents et variantes : 53 modèles, 81 variantes.

  3. 03

    Rédiger les descriptions

    Gemini 2.5 rédige une description par modèle parent, environ 22 par jour dans la limite du quota.

  4. 04

    Une personne valide

    Chaque texte passe d’abord par un bot Telegram : /approve, /reject ou /regen.

  5. 05

    Stockage et photos

    Les données validées sont insérées dans SQLite et les photos associées aux codes produits.

  6. 06

    Flux

    Des générateurs distincts produisent le XML pour Horoshop, Rozetka et le catalogue Facebook.

UkrSklad 7base Firebirdproducts.json85 SKUModel grouping53 modèles, 81 variantesGemini 2.5~22 modèles par jourModeration bot/approve · /regenSQLite storeupsert par modèlePhoto syncphotos → codes produitsXML feedsHoroshop, Rozetka, FB

Limites connues

  • Le quota IA quotidien fixe le rythme des nouvelles descriptions ; la file reprend simplement le lendemain.

Besoin de quelque chose de similaire ?

Parlez-moi de votre tâche et de vos données. Je vous répondrai avec ma façon de l’aborder.

Parler d’un projet →