

Before running the project, ensure you have the following installed:
app.sql.htdocs folder of XAMPP. Ensure that XAMPP is running and Docker is up and running.CodeGenerator folder and **run pip install -r requirements.txt and then run ./codegenerator_script.sh.dotnet run.Ctrl+C../codegenerator_script.sh.localhost and the port number in the URL as needed, e.g., https://localhost:5001/v1/api/).ReactTsOutput1..env file.npm run dev, and it will open the newly designed app directly.Use the following Docker commands to set up Redis, RabbitMQ, and 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 /datadocker 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}minio-data:/data minio/minio:latest server /data
Redis
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
RabbitMQ
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 --env-file .env
-v rabbitmq-data:/var/lib/rabbitmq rabbitmq:managementdocker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 --env-file .env ` -v rabbitmq-data:/var/lib/rabbitmq rabbitmq:management Add the following configurations to appsettings.json for MinIO (S3), Redis, and 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/"
}
}Ensure your database schema follows the guidelines provided by NeoApps.AI. You can find the guidelines here.
Save your database script in .sql format. Example scripts are available on the guidelines page.
Upload your script to XAMPP by placing it in the htdocs directory. This will allow it to be accessible via the XAMPP server.
Set up your MySQL database with the following parameters:
root (or your configured username)3306Update launchSettings.json with the following parameters for backend generation:
"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}"Update launchSettings.json with the following parameters for frontend generation:
"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:}"
Below is a list of configuration parameters used in the project setup, along with their explanations:
project_id1serverlocalhostuid1usernamerootpassword"" (empty string)databaseNamesplitthebillscripthtdocs directory.http://localhost/split_app_script.sqlstatusOfGeneration"" (empty string, to be updated during the process)projectNameContentPlannerTestDBexistsNO, and it will recreate the database tables. For frontend generation, it will be YES."Yes"port3306rabbitMQConnhttps://localhost:5001/v1/api/redisConnlocalhost:6379password (for Redis)12345apiflowurl"" (empty, to be defined based on your setup)fronttemplateurl"" (empty, to be defined based on your setup)Technology_Frontendreactts (React with TypeScript)Backend_technology"" (empty, to be specified based on your project)buttonClicked"generate"projectType"dnd"swgurl"" (empty, to be filled after project setup). No need to change anything here for now.noderedurl"" (empty, to be filled based on setup)Once you generate the project, the generated code will be available in the bin/debug folder.
Copy the generated code folder and place it into your repository or preferred directory.
Open the project in Visual Studio or Visual Studio Code and run it. If you encounter any errors, check your database schema for issues.
Generate the frontend code and ensure both the frontend and backend projects are configured correctly. Copy them into your repository or preferred directory.
If you need to regenerate the project or make changes to the database schema, drop the existing database tables and rerun the project.
After copying the projects, run the .NET API as needed.
Follow these steps, and you should be able to run the project and generate the apps without any issues.
Setup and Installation Guide For a detailed guide on setting up the project, generating the API, and hosting it locally, please refer to the Setup and Installation Guide.
This guide includes step-by-step instructions and a video tutorial to help you through the entire process.
To help you get started and make the most of NeoApps.ai, we have prepared comprehensive documentation: