How mohammadmasah/job-tracker-aggregator works
TrackIt accompagne une recherche d’emploi de la collecte d’offres au suivi des candidatures, des contacts et des documents, avec tableau de bord et assistant IA. Le flux principal passe par l’interface ou l’extension, l’API FastAPI, puis les données métier persistées en PostgreSQL. Les branches couvrent aussi le scraping, l’analyse de CV, l’authentification et les intégrations annoncées. Les extraits de code sont partiels : les liens vers des capacités documentées mais non échantillonnées reposent sur le README, sans détailler leur câblage interne.
Main entry points: database.py Accès données · applications.py Routes candidatures · ai_agents.py Agents IA · App.jsx Application web
Components 28
Interface utilisateur
- Application web
frontend/src/App.jsx - Gestion candidatures
frontend/src/pages/user/Applications.jsx - API candidatures
frontend/src/api/application.js - Extension Chrome
job-tracker-extension/content.js - Consultation offres
frontend/src/pages/user/Offers.jsx
Suivi métier
- Routes candidatures
backend/app/routes/applications.py - Routes contacts
backend/app/routes/contacts.py - Modèle candidature
backend/app/models/application.py - Modèles contacts
backend/app/models/contact.py
Offres et documents
- Routes offres
backend/app/routes/offers.py - Routes scraping
backend/app/routes/scraper.py - Connecteur Adzuna
backend/app/services/adzuna.py - Connecteur WeLoveDevs
backend/app/services/weLoveDevs.py - Routes documents
backend/app/routes/documents.py - Analyse PDF
backend/app/services/pdf.service.py
Assistant IA
- Routes chatbot
backend/app/routes/chatbot.py - Analyse chatbot
backend/app/routes/chatbot_analyse.py - Agents IA
backend/app/services/ai_agents.py - Service LLM
backend/app/services/llm_service.py - Historique chat
backend/app/services/chat_history.py
Services plateforme
- Accès données
backend/app/database.py - PostgreSQL
- Redis
- Ollama
- Authentification API
backend/app/api/user.py
Other components
- Candidat
- Jobboards
- Service SMTP
Connections 30
- Candidat → Application web: utilise
- Application web → Gestion candidatures: ouvre
- Gestion candidatures → API candidatures: crée candidature
- API candidatures → Routes candidatures: requête HTTP
- Routes candidatures → Accès données: lit et écrit
- Accès données → PostgreSQL: persiste
- Routes candidatures → Modèle candidature: manipule
- Gestion candidatures → Routes contacts: crée contacts
- Routes contacts → Modèles contacts: manipule
- Candidat → Extension Chrome: capture offre
- Extension Chrome → Routes scraping: transmet offre
- Application web → Consultation offres: ouvre
- Consultation offres → Routes offres: consulte
- Routes offres → Connecteur WeLoveDevs: interroge
- Routes offres → Connecteur Adzuna: interroge
- Connecteur WeLoveDevs → Jobboards: récupère offres
- Connecteur Adzuna → Jobboards: récupère offres
- Routes scraping → Connecteur WeLoveDevs: scrape
- Routes scraping → Connecteur Adzuna: scrape
- Routes documents → Analyse PDF: analyse CV
- Analyse PDF → Accès données: associe document
- Routes chatbot → Agents IA: délègue
- Analyse chatbot → Agents IA: délègue
- Agents IA → Accès données: interroge contexte
- Agents IA → Service LLM: sollicite modèle
- Service LLM → Ollama: génère réponse
- Routes chatbot → Historique chat: gère historique
- Authentification API → Accès données: vérifie compte
- Authentification API → Redis: limite accès
- Routes candidatures → Service SMTP: envoie relances