# JobIA - Votre plateforme de recherche d'emploi intelligente [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) ![Node.js](https://img.shields.io/badge/node.js-18.x%20%7C%2020.x-green) ![Next.js](https://img.shields.io/badge/Next.js-14.x-blue) ![Zustand](https://img.shields.io/badge/Zustand-4.x-purple) ![PostgreSQL](https://img.shields.io/badge/PostgreSQL-14+-orange) ![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-3.x-teal) **JobIA** est une plateforme de recherche d'emploi innovante qui vous aide à trouver les opportunités parfaites en exploitant la puissance de l'intelligence artificielle. En intégrant les offres de France Travail et des outils d'IA avancés, JobIA simplifie votre recherche d'emploi et vous accompagne dans la création de candidatures percutantes. ## Fonctionnalités principales (MVP) * **Recherche et filtrage avancés :** Trouvez facilement des offres grâce à une recherche intuitive et des filtres précis (localisation, type de contrat, secteur, etc.). * **Gestion des utilisateurs :** Créez un compte, connectez-vous et gérez votre profil. * **Sauvegarde des offres favorites :** Conservez les offres qui vous intéressent pour ne pas les perdre. * **Alertes email personnalisées :** Soyez informé des nouvelles offres correspondant à vos critères de recherche. * **Note de compatibilité IA :** Évaluez la pertinence d'une offre par rapport à votre profil grâce à une analyse intelligente basée sur Gemini ou Mistral. * **Espace personnel :** Gérez vos offres favorites et vos alertes en un seul endroit. * **Aide à la rédaction de lettre de motivation IA :** Générez des lettres de motivation personnalisées et efficaces en quelques clics grâce à l'IA. ## Technologies utilisées * **Frontend (`frontend` dossier) :** [Next.js](https://nextjs.org/) (framework React pour le rendu côté serveur et les applications web), [TypeScript](https://www.typescriptlang.org/) (sur-ensemble typé de JavaScript), [Tailwind CSS](https://tailwindcss.com/) (framework CSS utilitaire), [Zustand](https://zustand.pmnd.rs/) (bibliothèque de gestion d'état simple et rapide). * **Backend (`backend` dossier) :** [Node.js](https://nodejs.org/en/) (environnement d'exécution JavaScript côté serveur), [Express](https://expressjs.com/) ou (frameworks Node.js pour la création d'API), [TypeScript](https://www.typescriptlang.org/). * **Base de données :** [PostgreSQL](https://www.postgresql.org/). * **ORM (Optionnel) :** [Prisma](https://www.prisma.io/)(pour faciliter l'interaction avec la base de données). * **Intégration API :** * [API France Travail](https://www.francetravail.fr/emploi/offres/) (pour la récupération des offres d'emploi). * [API Gemini](https://ai.google.dev/products/gemini) ou [API Mistral](https://mistral.ai/) (pour les fonctionnalités d'IA). ## Installation (pour le développement local) 1. **Cloner le repository :** ```bash git clone cd jobia ``` 2. **Installer les dépendances du backend :** ```bash cd backend npm install # ou yarn install # ou pnpm install cd .. ``` 3. **Installer les dépendances du frontend :** ```bash cd frontend npm install # ou yarn install # ou pnpm install cd .. ``` 4. **Configurer les variables d'environnement :** Créez un fichier `.env.local` dans chaque dossier (`backend` et `frontend`) et configurez les variables d'environnement nécessaires. **`backend/.env.local` :** ```env DATABASE_URL=votre_url_postgresql FRANCE_TRAVAIL_CLIENT_ID=votre_client_id_france_travail FRANCE_TRAVAIL_CLIENT_SECRET=votre_client_secret_france_travail GEMINI_API_KEY=votre_cle_api_gemini # ou MISTRAL_API_KEY=votre_cle_api_mistral # ... autres variables backend ``` **`frontend/.env.local` :** ```env NEXT_PUBLIC_BACKEND_URL=http://localhost:8000/api # L'URL de votre backend NEXTAUTH_SECRET=un_secret_aleatoire_pour_nextauth NEXTAUTH_URL=http://localhost:3000 # ou l'URL de votre environnement frontend # ... autres variables frontend ``` **Important :** Assurez-vous de sécuriser vos clés API et autres informations sensibles. 5. **Lancer les serveurs de développement :** **Backend :** ```bash cd backend npm run dev # ou yarn dev ou pnpm dev (la commande peut varier selon votre configuration backend) cd .. ``` (Assurez-vous que votre serveur backend s'exécute sur le port spécifié dans `NEXT_PUBLIC_BACKEND_URL` ou ajustez la variable en conséquence). **Frontend :** ```bash cd frontend npm run dev # ou yarn dev # ou pnpm dev cd .. ``` Ouvrez votre navigateur sur `http://localhost:3000` pour voir l'application frontend. ## Déploiement Les instructions de déploiement dépendront de la plateforme que vous choisissez pour le frontend (Vercel, Netlify, etc.) et le backend (Heroku, AWS, etc.). Consultez la documentation de chaque plateforme pour plus d'informations. Assurez-vous de configurer correctement les variables d'environnement dans vos environnements de production respectifs. ## Contribution Les contributions sont les bienvenues ! Si vous souhaitez contribuer au projet, veuillez suivre les étapes suivantes : 1. Fork le repository. 2. Créez une branche pour votre fonctionnalité (`git checkout -b feature/nouvelle-fonctionnalite`). 3. Commitez vos changements (`git commit -m 'Ajout de la nouvelle fonctionnalité'`). 4. Pushez la branche (`git push origin feature/nouvelle-fonctionnalite`). 5. Ouvrez une pull request. ## Licence Ce projet est sous licence [MIT](https://opensource.org/licenses/MIT). ## Contact Pour toute question ou suggestion, n'hésitez pas à ouvrir une issue sur ce repository. --- **JobIA - Trouvez l'emploi qui vous correspond, intelligemment.**