bagisto / graphql-api
Bagisto GraphQL API
Installs: 11 143
Dependents: 0
Suggesters: 0
Security: 0
Stars: 88
Watchers: 5
Forks: 60
Open Issues: 2
Requires
- mll-lab/laravel-graphiql: ^3.1
- nuwave/lighthouse: ^6.23
- php-open-source-saver/jwt-auth: ^2.1
README
Bagisto's GraphQL API enables a seamless, headless eCommerce experience built on Laravel. This API delivers ultra-fast, dynamic, and personalized shopping experiences through a scalable, open-source platform.
Read our full documentation: Bagisto GraphQL API Docs
This API was developed in collaboration with the Ucraft Team.
Requirements:
- Bagisto: v2.3.0
Installation:
To install the Bagisto GraphQL API, follow these steps:
-
Install via Composer
Run the following command in your terminal to install the GraphQL API package:
composer require bagisto/graphql-api dev-main
-
Update Middleware Configuration
In your
bootstrap/app.php
file, add the following session middleware changes:use Illuminate\Session\Middleware\StartSession; use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse; return Application::configure(basePath: dirname(__DIR__)) ->withMiddleware(function (Middleware $middleware) { // ... rest of middleware setup /** * Remove session and cookie middleware from the 'web' middleware group. */ $middleware->removeFromGroup('web', [StartSession::class, AddQueuedCookiesToResponse::class]); /** * Adding session and cookie middleware globally to apply across non-web routes (e.g. GraphQL) */ $middleware->append([StartSession::class, AddQueuedCookiesToResponse::class]); }) // ... rest of configuration
This ensures that session and cookie middleware are applied globally across all routes, including API and GraphQL endpoints.
-
Update Environment Settings
Add the following entries to your
.env
file to configure JWT settings:JWT_TTL=525600 JWT_SHOW_BLACKLIST_EXCEPTION=true
-
Publish Assets and Configurations
Run the command below to publish assets and configurations for Bagisto GraphQL:
php artisan bagisto-graphql:install
Usage:
-
GraphQL Playground
After installation, you can test your API through the GraphQL Playground. Visit:
http://your-domain.com/graphiql
-
Postman Integration
Alternatively, you can test the API using Postman by accessing:
http://your-domain.com/graphql
That's it! Your Bagisto GraphQL API is now ready. Execute the project on your specified domain and start building your headless eCommerce solution.