Un système d'analyse de CV intelligent qui utilise l'IA pour évaluer la compatibilité entre un CV et une description de poste.
- 📄 Upload de CV (formats PDF, DOC, DOCX)
- 📝 Analyse de la description de poste
- 🎯 Score de correspondance ATS
- 🔍 Analyse des mots-clés :
- Correspondances fortes
- Mots-clés manquants
- 🤖 Analyse IA approfondie :
- Points clés
- Suggestions d'amélioration
- Analyse des compétences (techniques et soft skills)
- Analyse de l'expérience
- 📊 Génération de PDF optimisé avec recommandations
- Frontend :
- React
- TypeScript
- Tailwind CSS
- Vite
- Backend :
- Node.js
- Express
- TypeScript
- Google Gemini AI
- Outils :
- pdf-parse (extraction de texte PDF)
- mammoth (extraction de texte DOC/DOCX)
- natural (NLP pour l'analyse de texte)
- PDFKit (génération de PDF)
- Node.js (v16 ou supérieur)
- npm ou yarn
- Clé API Google Gemini
- Clonez le repository :
git clone https://github.com/thierry1804/ats.git
cd ats- Installez les dépendances du frontend :
npm install- Installez les dépendances du backend :
cd server
npm install- Créez un fichier
.envdans le dossierserver:
GEMINI_API_KEY=votre-clé-api-gemini
PORT=3000- Démarrez le backend :
cd server
npm run devLe serveur démarrera sur http://localhost:3000
- Dans un nouveau terminal, démarrez le frontend :
npm run devL'application sera accessible sur http://localhost:5174
- Ouvrez l'application dans votre navigateur
- Collez la description du poste dans la zone de texte
- Uploadez votre CV (glisser-déposer ou via le bouton)
- Cliquez sur "Analyze Resume"
- Consultez les résultats de l'analyse
- Optionnel : Générez un PDF optimisé avec les recommandations
ats/
├── src/ # Frontend React
│ ├── components/ # Composants React
│ ├── services/ # Services API
│ └── ...
├── server/ # Backend Node.js
│ ├── src/
│ │ ├── services/ # Services métier
│ │ └── index.ts # Point d'entrée
│ └── uploads/ # Dossier des fichiers uploadés
└── ...
-
POST /api/analyze: Analyse un CV- Body : FormData avec
resume(fichier) etjobDescription(texte) - Response : Résultats de l'analyse
- Body : FormData avec
-
POST /api/generate-pdf: Génère un PDF optimisé- Body : FormData avec
resume(fichier) etanalysisResults(JSON) - Response : Fichier PDF
- Body : FormData avec
Les contributions sont les bienvenues ! N'hésitez pas à :
- Fork le projet
- Créer une branche (
git checkout -b feature/AmazingFeature) - Commit vos changements (
git commit -m 'Add some AmazingFeature') - Push sur la branche (
git push origin feature/AmazingFeature) - Ouvrir une Pull Request
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Thierry RANDRIANTIANA - thierry1804@gmail.com Lien du projet : https://github.com/thierry1804/ats