SimuBourse est une plateforme de simulation financière avancée conçue pour offrir une expérience de trading et d'investissement riche et dynamique. Construite avec Next.js, Genkit pour l'IA, et Drizzle ORM, elle permet aux joueurs de trader des actions, de créer et gérer leurs propres entreprises, de parier sur des événements, et bien plus encore.
Ce guide vous accompagnera pas à pas pour installer et lancer l'application sur votre machine.
Lien du projet : https://github.com/softpython2884/SimuBourse.git
- Marché Dynamique : Simulation en temps réel des prix pour les actions, les cryptomonnaies, et les matières premières.
- Gestion d'Entreprises : Créez votre propre entreprise, gérez sa trésorerie, ses actifs, et décidez de la mettre en bourse (IPO) pour la rendre publique.
- Fonctionnalités IA avec Genkit :
- Actualités Générées par l'IA : Des événements de marché plausibles créés dynamiquement pour chaque actif.
- Conseiller en Investissement IA : Analysez des articles pour recevoir des recommandations d'investissement personnalisées.
- Bot de Trading Automatique : Laissez une IA gérer votre portefeuille et exécuter des transactions stratégiques pour vous.
- Marché des Paris : Pariez sur l'issue d'événements futurs, qu'ils soient créés par des joueurs ou par l'IA.
- Minage de Cryptomonnaies : Achetez du matériel de minage virtuel et générez des récompenses passives en Bitcoin.
- Progressive Web App (PWA) : Installez l'application sur votre bureau ou votre téléphone pour une expérience plus rapide et immersive.
- Framework : Next.js (avec App Router)
- Intelligence Artificielle : Genkit
- Base de Données & ORM : PostgreSQL avec Drizzle ORM
- UI : React, TypeScript, Tailwind CSS
- Composants : ShadCN/UI
Suivez ces étapes pour lancer l'application sur votre machine locale.
Avant de commencer, assurez-vous d'avoir les éléments suivants installés sur votre ordinateur :
- Node.js : Version 18 ou supérieure. Vous pouvez le télécharger sur nodejs.org.
- npm (ou yarn) : Inclus avec Node.js.
- Git : Pour cloner le projet. Télécharger Git.
- Une base de données PostgreSQL : L'application a besoin d'une base de données PostgreSQL pour fonctionner. Vous avez deux options principales :
- Docker (Recommandé) : Si vous avez Docker Desktop, c'est la méthode la plus simple pour lancer une base de données localement.
- Service Hébergé : Vous pouvez utiliser un service de base de données en ligne comme Supabase, Neon, ou Vercel Postgres.
Ouvrez votre terminal et suivez ces commandes :
# 1. Clonez le projet depuis GitHub
git clone https://github.com/softpython2884/SimuBourse.git
# 2. Accédez au dossier du projet
cd SimuBourse
# 3. Installez toutes les dépendances nécessaires
npm installCe fichier contiendra vos clés secrètes. Il n'est pas partagé sur GitHub pour des raisons de sécurité.
a. Créez le fichier :
À la racine du projet SimuBourse, créez un nouveau fichier nommé .env.
b. Remplissez le fichier :
Copiez et collez le modèle suivant dans votre fichier .env, puis remplacez les valeurs par vos propres informations.
# URL de connexion à votre base de données PostgreSQL
# Remplacez les valeurs par les vôtres.
# Format : postgres://UTILISATEUR:MOT_DE_PASSE@HOTE:PORT/NOM_DE_LA_BASE
DATABASE_URL="postgres://pterodactyl:Pl3453Ch4n63M3!@pods.forgenet.fr:5432/pterodactyl"
# Clé API pour Google AI (utilisée par Genkit)
# Obtenez-en une gratuitement sur https://makersuite.google.com/
GOOGLE_API_KEY="VOTRE_CLE_API_GOOGLE_AI"
# Clé secrète pour la session (utilisez une chaîne de caractères longue et aléatoire)
# Vous pouvez en générer une ici : https://generate-secret.vercel.app/32
JWT_SECRET_KEY="VOTRE_CLE_SECRETE_POUR_JWT"Maintenant que votre application sait comment se connecter à votre base de données (grâce au fichier .env), nous devons y créer les tables (users, assets, etc.).
Lancez la commande suivante dans votre terminal :
npm run db:pushCette commande lit le schéma défini dans src/lib/db/schema.ts et crée automatiquement toute la structure nécessaire dans votre base de données PostgreSQL. Vous ne devez exécuter cette commande qu'une seule fois lors de la première installation.
Vous y êtes presque ! Vous pouvez maintenant lancer l'application.
Idéal pour développer. Le site se rechargera automatiquement à chaque modification du code.
npm run devL'application sera disponible sur http://localhost:9002.
Compile l'application pour des performances optimales. C'est le mode à utiliser pour un déploiement public.
npm run prodCette commande exécute next build puis next start. L'application sera également disponible sur http://localhost:9002 (par défaut).