Avant d'exécuter le projet, assurez-vous que les éléments suivants sont installés :
app.sql
.htdocs
de XAMPP. Assurez-vous que XAMPP est en cours d'exécution et que Docker est opérationnel.CodeGenerator
et **exécutez pip install -r requirements.txt
, puis exécutez ./codegenerator_script.sh
.dotnet run
.Ctrl+C
../codegenerator_script.sh
.localhost
et le numéro de port dans l'URL si nécessaire, par exemple https://localhost:5001/v1/api/
).ReactTsOutput1
..env
.npm run dev
et il ouvrira directement l'application nouvellement conçue.Utilisez les commandes Docker suivantes pour configurer Redis, RabbitMQ et MinIO (S3) :
MinIO
docker run -d --name minio -p 9000:9000 --env-file .env
-e MINIO_ROOT_USER= ${MINIO_ROOT_USER}
-e MINIO_ROOT_PASSWORD= ${MINIO_ROOT_PASSWORD}
-v minio-data:/data minio/minio:latest server /data
docker run -d --name minio -p 9000:9000 --env-file .env -e MINIO_ROOT_USER= $env :MINIO_ROOT_USER -e MINIO_ROOT_PASSWORD= $env :MINIO_ROOT_PASSWORD -v ${PWD} m inio-data:/data minio/minio:latest server /data
Rédis
docker run -d --name redis -p 6379:6379 --env-file .env
-v redis-data:/data redis:latest
redis-server --requirepass " $( grep REDIS_PASSWORD .env | cut -d ' = ' -f2 ) " --appendonly yes
docker run -d --name redis -p 6379:6379 --env-file .env ` -v redis-data:/data redis:latest ` redis-server --requirepass $( Get-Content .env | Select-String ' REDIS_PASSWORD ' | ForEach-Object { ( $_ -split ' = ' )[1].Trim() }) --appendonly yes
LapinMQ
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 --env-file .env
-v rabbitmq-data:/var/lib/rabbitmq rabbitmq:management
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 --env-file .env ` -v rabbitmq-data:/var/lib/rabbitmq rabbitmq:management
Ajoutez les configurations suivantes à appsettings.json
pour MinIO (S3), Redis et RabbitMQ :
{
"MinIO" : {
"AccessKey" : " ${MINIO_ROOT_USER} " ,
"SecretKey" : " ${MINIO_ROOT_PASSWORD} " ,
"Endpoint" : " http://localhost:9000 "
},
"Redis" : {
"Connection" : " localhost:6379,password=${REDIS_PASSWORD} "
},
"RabbitMQ" : {
"Connection" : " amqp://${RABBITMQ_USER}:${RABBITMQ_PASSWORD}@localhost:5672/ "
}
}
Assurez-vous que votre schéma de base de données suit les directives fournies par NeoApps.AI. Vous pouvez trouver les lignes directrices ici.
Enregistrez votre script de base de données au format .sql
. Des exemples de scripts sont disponibles sur la page des directives.
Téléchargez votre script sur XAMPP en le plaçant dans le répertoire htdocs
. Cela lui permettra d'être accessible via le serveur XAMPP.
Configurez votre base de données MySQL avec les paramètres suivants :
root
(ou votre nom d'utilisateur configuré)3306
Mettez à jour launchSettings.json
avec les paramètres suivants pour la génération backend :
"PARAMETER" : " {project_id:1,server:localhost,uid:1,username:root,password:,databaseName:splitthebill,script:http://localhost/split_app_script.sql,statusOfGeneration:null,projectName:DemoApplication,DBexists:No,port:3306,rabbitMQConn:amqp://user:password@localhost:5672/,redisConn:localhost:6379,password=yourredispassword,apiflowurl:,fronttemplateurl:,Technology_Frontend:,Backend_technology:dotnet,buttonClicked:generate,projectType:,swgurl:,noderedurl:null} "
Mettez à jour launchSettings.json
avec les paramètres suivants pour la génération frontend :
"PARAMETER" : " {project_id:1,server:localhost,uid:1,username:root,password:,databaseName:splitthebill,script:http://localhost/split_app_script.sql,statusOfGeneration:,projectName:DemoApplication,DBexists:Yes,port:3306,rabbitMQConn:amqp://user:passord@localhost:5672/,redisConn:localhost:6379,password=yourredispassword,apiflowurl:,fronttemplateurl:,Technology_Frontend:reactts,Backend_technology:,buttonClicked:generate,projectType:dnd,swgurl:,noderedurl:} "
Vous trouverez ci-dessous une liste des paramètres de configuration utilisés dans la configuration du projet, ainsi que leurs explications :
project_id
1
server
localhost
uid
1
username
root
password
""
(chaîne vide)databaseName
splitthebill
script
htdocs
.http://localhost/split_app_script.sql
statusOfGeneration
""
(chaîne vide, à mettre à jour au cours du processus)projectName
ContentPlannerTest
DBexists
NO
et cela recréera les tables de la base de données. Pour la génération frontend, ce sera YES
."Yes"
port
3306
rabbitMQConn
https://localhost:5001/v1/api/
redisConn
localhost:6379
password
(pour Redis)12345
apiflowurl
""
(vide, à définir en fonction de votre configuration)fronttemplateurl
""
(vide, à définir en fonction de votre configuration)Technology_Frontend
reactts
(React avec TypeScript)Backend_technology
""
(vide, à préciser en fonction de votre projet)buttonClicked
"generate"
projectType
"dnd"
swgurl
""
(vide, à remplir après la configuration du projet). Pas besoin de changer quoi que ce soit ici pour l'instant.noderedurl
""
(vide, à remplir en fonction de la configuration) Une fois le projet généré, le code généré sera disponible dans le dossier bin/debug
.
Copiez le dossier de code généré et placez-le dans votre référentiel ou répertoire préféré.
Ouvrez le projet dans Visual Studio ou Visual Studio Code et exécutez-le. Si vous rencontrez des erreurs, vérifiez le schéma de votre base de données pour détecter tout problème.
Générez le code frontend et assurez-vous que les projets frontend et backend sont correctement configurés. Copiez-les dans votre référentiel ou répertoire préféré.
Si vous devez régénérer le projet ou apporter des modifications au schéma de base de données, supprimez les tables de base de données existantes et réexécutez le projet.
Après avoir copié les projets, exécutez l'API .NET si nécessaire.
Suivez ces étapes et vous devriez pouvoir exécuter le projet et générer les applications sans aucun problème.
Guide de configuration et d'installation Pour un guide détaillé sur la configuration du projet, la génération de l'API et son hébergement local, veuillez vous référer au Guide de configuration et d'installation.
Ce guide comprend des instructions étape par étape et un didacticiel vidéo pour vous aider tout au long du processus.
Pour vous aider à démarrer et à tirer le meilleur parti de NeoApps.ai, nous avons préparé une documentation complète :