Skip to content

Islah88/signalhire

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SignalHire — SaaS d'Automatisation & Sourcing Intelligent

Python Next JS Docker SQLite SignalHire Dashboard SignalHire est une plateforme SaaS complète conçue pour automatiser le cycle de vie de la recherche d'opportunités professionnelles (sourcing, scoring sémantique, génération de documents ATS-compliant).

Ce projet a été développé de A à Z (Backend, Frontend, Infrastructure) pour répondre à un besoin métier précis : éliminer les tâches manuelles chronophages et augmenter drastiquement la pertinence des candidatures via l'Agentic AI.

🎯 Pourquoi ce projet ? (Approche "Solutions")

En tant que professionnel de l'IT, je suis convaincu que la technologie doit être au service de la productivité. J'ai construit SignalHire non pas comme un simple script, mais comme un produit SaaS robuste et résilient :

  • Automatisation de bout en bout : Les processus (fetch, score, alert) tournent en arrière-plan sans intervention humaine.
  • Résilience Système : Mécanismes de fallback intégrés (rotation automatique des clés API IA en cas de quota dépassé).
  • Monitoring & Supervision : Intégration de sondes (CPU, RAM, DB) pour prévenir les saturations d'infrastructure (approche SysAdmin).

🎬 Démo

SignalHire Démo

📸 Démonstration de la recherche d'offres et du scoring de compatibilité par IA.


🏗️ Architecture Technique

L'application suit une architecture moderne découplée (API RESTful + SPA), conçue pour être déployée facilement via Docker.

1. Backend (FastAPI / Python)

  • Framework : FastAPI (Performances asynchrones élevées).
  • Base de Données : SQLAlchemy (ORM) sur SQLite (versionnée et optimisée pour des lectures rapides).
  • IA (Agentic Workflow) : Intégration de Gemini (Google) et Groq (LLaMA 3) pour l'analyse sémantique.
  • Tâches Asynchrones : Module sentinel.py pour le sourcing programmé (Cron-like) et l'envoi d'alertes SMTP.
  • Supervision : Endpoint dédié /api/v1/system/metrics permettant de monitorer la santé du serveur hôte (RAM, CPU, Disque).

2. Frontend (Next.js / TypeScript)

  • Interface de type "Kanban" (Drag & Drop) inspirée des meilleurs CRM du marché.
  • Thème "Matrix / Terminal" pour une expérience utilisateur premium.

3. Pipeline de Génération (LaTeX)

  • Compilation dynamique côté serveur de fichiers PDF (CV & Lettres de motivation) via le compilateur pdflatex.
  • Templates institutionnels conçus pour tromper positivement les ATS (Applicant Tracking Systems).

🛡️ Focus : Sécurité & Résilience IT (SecDevOps)

Dans la conception de ce système, des principes stricts de Gestion des Incidents (ITIL) et de Sécurité ont été appliqués :

  • Cloisonnement et Isolation (Docker) : L'application est architecturée pour tourner dans des conteneurs isolés, minimisant la surface d'attaque sur le serveur hôte.
  • Sécurité des API (Rate Limiting) : L'API FastAPI intègre des middlewares stricts (CORS) et des limiteurs de requêtes pour prévenir les attaques de type Déni de Service (DDoS) ou le scraping abusif.
  • Gestion Sécurisée des Secrets : Aucune clé d'API (Google/Groq) n'est hardcodée. Tout est géré de manière sécurisée via l'environnement hôte (.env), prêt pour une intégration avec des Vaults d'entreprise.
  • Rotation de clés & Fallback : L'architecture intègre un système de clés API tournantes (Multi-Key Cluster). Si une clé IA atteint sa limite, le système bascule de manière transparente sans interruption.
  • Analyse de Logs : Tous les flux sont journalisés par le module logger central pour faciliter l'investigation forensique (Niveau 2/3).

🚀 Installation & Déploiement (Environnement de Prod)

Prérequis

  • Docker & Docker Compose (ou Python 3.10+ en bare-metal)
  • pdflatex installé sur l'hôte (si bare-metal)

Configuration

Le système est piloté par un point d'entrée unique (.env).

# Exemple de configuration
GROQ_API_KEY=key1,key2,key3 # Rotation automatique
SENTINEL_INTERVAL_HOURS=2

Démarrage (Backend)

cd backend
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000

Démarrage du Sentinel (Worker)

python -m app.core.sentinel

👤 Auteur

Mhoma EL ISLAHDéveloppeur SaaS IA & Expert SecDevOps

  • 🎓 Bachelor Cybersécurité — ESAIP / Le Havre
  • 🎓 Master 2 MIASHS
  • 💡 Passionné par la création de plateformes intelligentes (Agentic IA) et la sécurisation des infrastructures cloud.
  • 🔗 Portfolio | LinkedIn | GitHub

📄 Licence

Ce projet est sous licence MIT — voir le fichier LICENSE pour plus de détails.

About

SignalHire — Écosystème SaaS de Scoring IA et automatisation de candidatures chirurgicales. FastAPI + Next.js + Gemini + LaTeX.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors