SPB Git forge

spb/job-ka

Public
229commits 1branches 0releases
38.1 MBsize
maindefault branch
1 h agolast push
HTML 82.1% Python 14.6% TypeScript 1.9% CSS 1% JavaScript 0.5%

History of frontend/src/pages/Stats.tsx · clear filter

  1. Wed, Aug 19, 2026 1

    1. Stats v2 : dashboard ultra complet + 5 rapports PDF (module commun ka-ui v2)
      …
      - jobka/kapdf.py + frontend/src/ka/stats/{kacharts.tsx,SPEC.md} : canoniques v2
      - statsdash.py : 10 KPI (sparklines actives/nouvelles/retraits), 4 jauges de
        complétude (salaire, mode, géoloc, catégorie), série des retraits,
        multi-courbes top secteurs (date de publication affichée), barres empilées
        ajouts par source (sync_log), 3 distributions (salaires annuels, taux
        horaires, âge des offres), heatmap horaire 7x24 des observations, tableaux
        secteurs + sources & connecteurs, 11 records ; deltas seulement si la
        période précédente est couverte (rien d'inventé)
      - /api/stats/report : 5 modes (complet/synthese/tendances/repartitions/
        donnees), mode inconnu -> complet, filename(..., mode)
      - Stats.tsx : sections v2 dans l'ordre du SPEC (jauges, StatSummary,
        MultiLineChart, StackedBarChart, Histogram, HourHeatmap, PdfButton 5 modes)
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +62 −19
  2. Mon, Aug 17, 2026 2

    1. Intégration complète à l'écosystème Groupe KA
      …
      - Design : ka-ui vendoré (tokens.css importé avant le CSS local), accent
        officiel cyan #0c8599 (fin du lime hérité), socle dédupliqué, badge
        « Un service Groupe KA » au header (desktop + mobile, zéro débordement
        à 360/768/1440), prefooter local + KaFooter commun, page /contact
        (ecosystem.json), title « Job-Ka — Un service Groupe KA », assets
        og.png/favicon.svg/apple-touch-icon + meta OG/Twitter absolues.
      - SSO KA ID : jobka/auth.py (client job-ka, cookie jobka_session, table
        users), bouton « Se connecter avec KA » au header, testé bout-en-bout
        jusqu'au hub (307 → /connexion, client reconnu).
      - Stats : /api/stats/dashboard (contrat SPEC, cache 5 min, salaires
        bornés 25–400 k$, série date_posted réelle) + /api/stats/report (PDF
        fpdf2 via jobka/kapdf.py, complet + synthèse), page /stats refaite sur
        ka/stats/kacharts.tsx ; /api/stats historique conservé pour le hub.
      - KA Agent : widget ka-agent.js câblé (site job-ka).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +139 −59
    2. Fondation Job·Ka : socle backend, 5 connecteurs pilotes, frontend, tests
      …
      - Schéma JobPosting + normalisation (salaires $/h↔$/an, dates ISO, villes
        canoniques, catégories) — 25 tests unitaires
      - Pipeline hérité de Lou·Ka : diff par content_hash, délai de grâce,
        anti-dérive, expiration sur date limite, dédup union-find, géocodage
        Nominatim + Adresses Québec avec cache
      - Plateformes ATS : Workday (facette Québec auto-découverte), Lever,
        Greenhouse, SmartRecruiters — connecteurs pilotes CAE, Desjardins, Poka,
        Mistplay, Ubisoft (442 offres QC)
      - API FastAPI (/api/jobs, geojson, facets, sources, stats, /health) +
        frontend React/Vite (liste, fiche, carte MapLibre, stats)
      - Fixtures HTTP enregistrées/rejouées hors ligne + hook pre-commit
        d'en-tête d'auteur (section 17)
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +79