JW Chat est une application web qui utilise l'intelligence artificielle pour aider les utilisateurs à rechercher et étudier des publications de JW.ORG. L'application permet également de gérer les utilisateurs, les paiements et les sessions de chat.
- Recherche AI : Utilise l'API OpenAI pour rechercher des articles pertinents sur JW.ORG.
- Gestion des utilisateurs : Inscription, connexion, et gestion des utilisateurs avec des rôles administratifs.
- Paiements : Intégration avec Stripe pour gérer les paiements et les crédits des utilisateurs.
- Chat en temps réel : Utilise Flask-SocketIO pour permettre des sessions de chat en temps réel.
Avant de commencer, assurez-vous d'avoir les éléments suivants installés sur votre machine :
- Python 3.8+ : L'application nécessite Python version 3.8 ou supérieure.
- pip : L'outil de gestion des packages pour Python.
- Git : Pour cloner le dépôt.
- Virtualenv : Pour créer des environnements virtuels Python.
- MongoDB : Base de données NoSQL utilisée par l'application.
- Redis : Utilisé pour la gestion des sessions en temps réel.
- Stripe Account : Pour gérer les paiements.
- Compte OpenAI : Pour l'API OpenAI pour l'assistant et le paramétrer : OPENAI.md
-
Clonez le dépôt :
git clone https://github.com/geomtech/JW-Chat.git cd JW-Chat
-
Créez un environnement virtuel et activez-le :
python -m venv venv source venv/bin/activate # Sur Windows: venv\Scripts\activate
-
Installez les dépendances :
pip install -r requirements.txt
-
Configurez les variables d'environnement nécessaires :
export OPENAI_API_KEY="" export BREVO_API_KEY="" export MONGODB_URL="" export SECRET_KEY="" export REDIS_URL="" export PORT=5000 export STRIPE_API_KEY="" export STRIPE_PUBLIC_KEY=""
-
Lancez l'application :
flask run
- Accédez à l'application via
http://127.0.0.1:5000
. - Inscrivez-vous et connectez-vous pour accéder aux fonctionnalités.
- Utilisez le chat pour poser des questions et obtenir des réponses basées sur le site JW.ORG.
app.py
: Point d'entrée de l'application Flask.blueprints/
: Contient les blueprints pour les différentes sections de l'application (admin, comptes).static/
: Contient les fichiers statiques (CSS, JS).templates/
: Contient les templates HTML.utils/
: Contient les fonctions utilitaires.
Les contributions sont les bienvenues ! Veuillez soumettre une pull request ou ouvrir une issue pour discuter des changements que vous souhaitez apporter.
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.