واجهة برمجة تطبيقات GraphQL للتجارة الإلكترونية بدون رأس والتي تستخدم Laravel كواجهة خلفية.
أول شيء سنقوم بتثبيته هو خدمة laravel backend api. أول شيء سنقوم بتثبيت تطبيق Laravel.
composer create-project laravel/laravel avored-backend
cd avored-backend
composer require avored/framework
composer require avored/dummy-data
composer require avored/cash-on-delivery
composer require avored/pickup
قم بإعداد قيم .env وCORS
لإصلاح CORS في تطبيق laravel8 الخاص بك. يمكنك فتح config/cors.php
واستبدال الكود كما هو موضح أدناه في الملف.
'allowed_origins' => ['http://localhost:8080'],
بمجرد الانتهاء من إعداد .env، يمكننا تثبيت AvoRed Ecommerce
php artisan avored:install
php artisan vendor:publish --provider="AvoRedFrameworkAvoRedServiceProvider"
yoursite.com/graphiql
بمجرد تثبيت الإطار المفضل/الإطار بعد ذلك، سنتأكد من إعداد CORS للسماح بالوصول إلى واجهة برمجة تطبيقات graphql عبر أي واجهة أمامية.
git clone https://github.com/avored/laravel-ecommerce avored-frontend
cd avored-frontend
npm install
npm run serve
قم بتنفيذ الأمر أدناه:
git clone https://github.com/avored/docker-dev.git
cd docker-dev
git clone https://github.com/avored/laravel-ecommerce ./src/frontend
docker-compose up -d
docker-compose run --rm composer create-project laravel/laravel:8.6 ./
docker-compose run --rm composer require avored/framework
docker-compose run --rm composer require avored/dummy-data avored/cash-on-delivery avored/pickup
الآن قم بإعداد ملف .env
. افتح ملف .env للتطبيق المفضل الموجود في ./src/backend/.env
ثم قم بإعداد قاعدة البيانات الخاصة بك وأي بيئة أخرى وفقًا لملف docker-compose.yml الخاص بك
DB_HOST=mysql
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
الآن علينا فقط تثبيت AvoRed وإنشاء حساب مستخدم إداري مفضل
docker-compose run --rm artisan avored:install
docker-compose run --rm artisan vendor:publish --provider="AvoRedFrameworkAvoRedServiceProvider"
نحن الآن بحاجة إلى إعداد CORS حتى يتمكن تطبيق الواجهة الأمامية من تلقي استدعاء API من backnd. افتح ./src/backend/config/cors.php
ثم استبدل السطر أدناه
'paths' => ['/graphql', 'sanctum/csrf-cookie'],
'allowed_origins' => ['http://localhost:8060'],
هذا كل شيء. يمكنك الآن زيارة http://localhost:8060
للواجهة الأمامية وللواجهة الخلفية يمكنك زيارة http://localhost:8050/admin