Download the PHP package dystcz/lunar-api without Composer
On this page you can find all versions of the php package dystcz/lunar-api. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package lunar-api
Lunar API 🪬
What's going on here?
This package introduces an API layer for the Lunar ecommerce package. It connects the Lunar backend with your SPA, other applications, and possibly with a mobile app.
The main aim is to provide a solid foundation for your e-commerce project, giving you a head start while maintaining flexibility so you can easily build features to meet your project's needs.
Some perks
- Focus on extensibility
- Wannabe ecosystem of complementary packages with emphasis on the plug and play spirit
- Already running in production 🤫
- Built on top of Laravel JSON:API
Feature set
- [x] Configurable checkout flow with guest checkout
- [x] Solid extensibility (Models, Schemas, Resources, Routes, ...)
- [x] Payment adapters registrar (currently Stripe & Mollie)
Work in progress 🚧
- [ ] Documentation Wiki
- [ ] Vitepress documentation
- [ ] Better test coverage
- [ ] Paypal payment adapter
- [ ] Custom model filters
- [ ] Composable products (good for configurators)
- [ ] Purchasable payment options
- [ ] HashIds
Planned 🕛
- [ ] Automated Open API documentation
- [ ] Authentication flow (currently has to be implemented in the main app)
- [ ] More streamlined configuration
Feature requests and ideas 💡
Got an idea? Share it in a dicussion or create an issue.
Getting started guide
Requirements
- PHP ^8.2
- Laravel 10
- Lunar requirements
Installation
You can install the package via composer
Publish config files
You will probably need them pretty bad
Publish migrations
Only in case you want to customize the database schema
Let's hit your first endpoint
Just visit /api/v1/products
and you should see a list of products.
Hopefully everything went smooth so far. If not, please create an issue.
You can view the rest of the API routes by running php artisan route:list --name=v1
in your terminal.
Useful resource
- Postman request collection [🚧] , so you can test the API with ease
- Laravel JSON:API Docs , if you plan to extend the API
Testing
Lunar API compatible packages
- Reviews (Adds user reviews functionality)
- Product Views (Store unique product views in Redis)
- Product Stock Notifications (Notify users when product is in stock again)
- Newsletter (Newsletter sign up with support for Mailchimp / Mailcoach / Brevo)
- Stripe Payment Adapter
- Mollie Payment Adapter
- PayPal Adapter [🚧]
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Credits
- All Contributors
- Lunar for providing awesome e-commerce package
- Laravel JSON:API which is a brilliant JSON:API layer for Laravel applications
License
The MIT License (MIT). Please see License File for more information.
All versions of lunar-api with dependencies
illuminate/support Version ^10.0
laravel-json-api/hashids Version ^2.0
laravel-json-api/laravel Version ^3.4
laravel-json-api/non-eloquent Version ^3.0
lunarphp/lunar Version ^0.8