JobTech est une application web complete de gestion du processus de recrutement, developpee dans le cadre du projet de fin d'etude. L'application permet aux entreprises de gerer les offres d'emploi, traiter les candidatures, planifier des entretiens et evaluer les candidats avec l'aide de l'intelligence artificielle.
L'application est constituee de deux parties distinctes:
Le backend est developpe avec Django et comprend les composants suivants:
- Framework: Django 5.x avec Python 3.12
- API: Django REST Framework (DRF) pour les endpoints REST
- Base de donnees: PostgreSQL (configurable pour SQLite en developpement)
- Taches asynchrones: Celery avec Redis pour le traitement des operations lourdes
- IA/NLP: Integration de modeles de language pour l'analyse des CV
L'application backend est organisee en 9 modules distincts:
- accounts - Gestion des utilisateurs, authentification, RBAC (Role-Based Access Control)
- offres - Gestion des offres d'emploi (CRUD, recherche, filtres)
- candidatures - Traitement des postulations et upload des CV
- entretiens - Planification et gestion des entretiens
- evaluations - Systeme d'evaluation des candidats
- statistiques - Tableaux de bord et indicateurs KPI
- rapports - Generation de rapports PDF
- notifications - Envoi d'emails automatises
- ia - Pipeline NLP et analyse de CV par IA
Le frontend est une application SPA (Single Page Application) developpee avec:
- Framework: React 18.x avec TypeScript
- Build tool: Vite
- Gestion d'etat: Zustand
- Appels API: Axios
- Tests e2e: Playwright
- PWA: Configuration pour installation hors ligne
- Creation de compte et activation par email
- Consultation des offres d'emploi
- Postulation a une offre avec upload de CV
- Suivi du statut de ses candidatures
- Gestion des offres d'emploi (creation, modification, publication)
- Consultation des candidatures recues
- Tableau de bord Kanban pour le suivi des postulations
- Planification d'entretiens avec calendrier
- Evaluation des candidats avec systeme de notation
- Generations de rapports PDF
- Statistiques et graphiques analytiques
- Analyse automatique des CV par intelligence artificielle
- Scoring des candidats base sur la compatibilite avec l'offre
- Generations de questions d'entretien par IA
- Notifications par email automatisees
- Suivi simple des entretiens et des evaluations
- Application mobile (PWA)
- Python 3.12+
- Node.js 18+
- PostgreSQL (optionnel, SQLite pour developpement)
- Redis (pour Celery)
- Creation de l'environnement virtuel:
cd app/backend
python -m venv venv
source venv/bin/activate # Linux/Mac
# ou
venv\Scripts\activate # Windows- Installation des dependances:
pip install -r requirements.txt- Configuration des variables d'environnement:
cp .env.example .env
# Editer .env avec les parametres desired- Migration de la base de donnees:
python manage.py migrate- Creation d'un superutilisateur:
python manage.py createsuperuser- Lancement du serveur:
python manage.py runserverPour Celery (taches asynchrones):
celery -A jobtech worker -l info- Installation des dependances:
cd app/frontend
npm install- Lancement du serveur de developpement:
npm run devL'application peut egalement etre lancee avec Docker Compose:
docker compose up --buildCela demarre automatiquement tous les services necessaires (backend, frontend, PostgreSQL, Redis).
JobTechSolution/
├── app/
│ ├── backend/
│ │ ├── apps/ # Modules Django
│ │ │ ├── accounts/
│ │ │ ├── offres/
│ │ │ ├── candidatures/
│ │ │ ├── entretiens/
│ │ │ ├── evaluations/
│ │ │ ├── statistiques/
│ │ │ ├── rapports/
│ │ │ ├── notifications/
│ │ │ └── ia/
│ │ ├── jobtech/ # Configuration Django
│ │ ├── static/ # Fichiers statiques
│ │ ├── templates/ # Templates HTML
│ │ └── requirements.txt
│ └── frontend/
│ ├── src/
│ │ ├── components/ # Composants React
│ │ ├── pages/ # Pages de l'application
│ │ ├── services/ # Services API
│ │ ├── stores/ # Gestion d'etat
│ │ └── types/ # Types TypeScript
│ └── package.json
├── assets/ # Documentation
├── docker-compose.yml
└── README.md
- Django 5.x
- Django REST Framework
- Celery
- PostgreSQL / SQLite
- ReportLab (PDF)
- Matplotlib (graphiques)
- scikit-learn (TF-IDF)
- React 18
- TypeScript
- Vite
- Zustand
- Axios
- Playwright
- FullCalendar
- Docker / Docker Compose
- GitHub Actions (CI/CD)
- Redis
Projet developpe par un groupe d'etudiants dans le cadre du projet de fin d'etude.
Ce projet est destine a des fins educatives.