phase 1 backend
This commit is contained in:
parent
a0897c2d38
commit
9653e55453
26 changed files with 3225 additions and 0 deletions
130
README.md
Normal file
130
README.md
Normal file
|
@ -0,0 +1,130 @@
|
|||
# JobIA - Votre plateforme de recherche d'emploi intelligente
|
||||
|
||||
[](https://opensource.org/licenses/MIT)
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
**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 <URL_DU_REPOSITORY>
|
||||
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.**
|
Loading…
Add table
Add a link
Reference in a new issue