Job Aggregator est une plateforme moderne conçue pour centraliser et structurer les offres d'emploi tech, particulièrement pour les profils étudiants et juniors. Elle intègre un assistant intelligent basé sur une architecture RAG (Retrieval-Augmented Generation) pour offrir une recherche sémantique ultra-précise.
Retrouvez tous les détails techniques et stratégiques dans le dossier docs/ :
- 🤖 IA & Chatbot : Fonctionnement du RAG et choix LLM
- 🎯 Stratégie : Justification des choix produits et techniques
- 💻 Backend : Justification technique Go/MariaDB
- 🎨 Frontend : Justification technique React/Tailwind
- 🗄️ Base de Données : Schéma ERD et recherche vectorielle
- 🛡️ Sécurité : Mesures de protection et RBAC
.
├── backend/ # API Go (Gin Gonic) & Scraper
├── frontend/ # Interface React + TypeScript (Vite)
├── config/ # Configurations (DB Schema, Nginx/Fail2ban)
├── docs/ # Documentation détaillée (Architecture, Choix tech)
├── test/ # Tests d'intégration (Python + Unittest)
└── docker-compose.*.yml # Orchestration Docker
Avant de commencer, assurez-vous d'avoir installé :
- Docker
- Docker Compose
- Une clé API WeLoveDevs (nécessaire pour l'ingestion des données)
Copiez le fichier d'exemple et remplissez les valeurs nécessaires :
cp .env-ex .env| Variable | Description |
|---|---|
DB_* |
Identifiants pour la base de données MariaDB |
API_URL |
URL publique de votre API (ex: https://api.monsite.com) |
JWT_SECRET |
Clé secrète pour la signature des tokens JWT |
API_WLD |
Votre clé API WeLoveDevs |
DOMAIN |
Votre nom de domaine pour le proxy SWAG |
Le déploiement en production utilise un proxy inverse (SWAG) avec gestion SSL et protection Fail2ban.
docker compose -f docker-compose.yml -f docker-compose.prod.yml up --build -dPour lancer la suite de tests automatisés (Intégration API) :
docker compose -f docker-compose.yml -f docker-compose.test.yml up --build --exit-code-from test_job_api