Giter VIP home page Giter VIP logo

bagisto / laravel-pwa Goto Github PK

View Code? Open in Web Editor NEW
97.0 10.0 59.0 68.42 MB

Transform your website like Mobile Application while having full functionality of the website using Laravel PWA

Home Page: https://bagisto.com/en/laravel-ecommerce-pwa/

License: MIT License

JavaScript 3.91% PHP 27.76% Vue 60.74% SCSS 3.25% Blade 4.34%
hacktoberfest hacktoberfest2020 laravel ecommerce opensource pwa pwa-apps progressive-web-apps progressive-web-app

laravel-pwa's Introduction

Bagisto PWA

1. Introduction:

PWA or Progressive Web Application uses web browser capabilities and provides a mobile app experience to the users.
It develops from a browser tab and makes pages more immersive with a low friction user experience.
It is a web technology of making a website which acts and feels like an application.
A user can launch the Progressive Web Application same like a native application regardless of browser choice.

It packs with lots of demanding features that allows your business to scale in no time:

  • Separate micro site.
  • More user friendly than a web application.
  • Works lightning fast if compared to the website.
  • Completely responsive on all the platforms.
  • Launches without the internet or low-quality internet.
  • Looks and feels like a native application.
  • Users do not need to update progressive web application.
  • No app store require managing the application.
  • Increases user engagement on the store.
  • Increases the store revenue due to user engagement.
  • Admin can enter the application name.
  • Admin can upload and change the application icon.
  • Admin can set the splash background color of the Progressive Web Application.
  • Admin can set the theme color of the Progressive Web Application.

2. Requirements:

  • Bagisto: v1.5.1

3. Installation:

  • Install the PWA extension
composer require bagisto/pwa:dev-master
  • Run these commands below to complete the setup
php artisan config:cache
php artisan migrate
php artisan route:cache
php artisan vendor:publish

-> Press 0 and then press enter to publish all assets and configurations.

That's it, now go to https://yourdomain/pwa

laravel-pwa's People

Contributors

aayushbhatt18 avatar example123 avatar ghermans avatar gitesh-webkul avatar jitendra-webkul avatar meraj-webkul avatar pankajchandrabhatt avatar rachana-webkul avatar rahulcs0082 avatar rahulshukla-webkul avatar shubh-mehrotra avatar vishal-webkul avatar vivek-webkul avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

laravel-pwa's Issues

installed and configured, pwa

Installation:
Unzip the respective extension zip and then merge "packages" folder into project root directory.
Goto config/app.php file and add following line under 'providers'
Webkul\PWA\Providers\PWAServiceProvider::class
Goto config/concord.php file and add following line under 'modules'
\Webkul\PWA\Providers\ModuleServiceProvider::class
Goto composer.json file and add following line under 'psr-4'
"Webkul\PWA\": "packages/Webkul/PWA/src"
Install Jenssegers Agent via following command
composer require jenssegers/agent
Add the following line under 'providers' in config/app.php
Jenssegers\Agent\AgentServiceProvider::class
Add the following line under 'aliases' in config/app.php
'Agent' => Jenssegers\Agent\Facades\Agent::class,
Run these commands below to complete the setup
composer dump-autoload
php artisan migrate
php artisan route:cache
php artisan vendor:publish

cd packages/Webkul/PWA
npm install

Not compatible with latest Bagisto and lastest pwa extension

{
"message": "Method Illuminate\Events\Dispatcher::fire does not exist.",
"exception": "BadMethodCallException",
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Support\Traits\Macroable.php",
"line": 103,
"trace": [
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php",
"line": 261,
"function": "__call",
"class": "Illuminate\Events\Dispatcher",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\packages\Webkul\PWA\src\Http\Controllers\Shop\CartController.php",
"line": 91,
"function": "__callStatic",
"class": "Illuminate\Support\Facades\Facade",
"type": "::"
},
{
"function": "store",
"class": "Webkul\PWA\Http\Controllers\Shop\CartController",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Routing\Controller.php",
"line": 54,
"function": "call_user_func_array"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Routing\ControllerDispatcher.php",
"line": 45,
"function": "callAction",
"class": "Illuminate\Routing\Controller",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Routing\Route.php",
"line": 219,
"function": "dispatch",
"class": "Illuminate\Routing\ControllerDispatcher",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Routing\Route.php",
"line": 176,
"function": "runController",
"class": "Illuminate\Routing\Route",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Routing\Router.php",
"line": 681,
"function": "run",
"class": "Illuminate\Routing\Route",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php",
"line": 130,
"function": "Illuminate\Routing\{closure}",
"class": "Illuminate\Routing\Router",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\packages\Webkul\Shop\src\Http\Middleware\Currency.php",
"line": 46,
"function": "Illuminate\Pipeline\{closure}",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php",
"line": 171,
"function": "handle",
"class": "Webkul\Shop\Http\Middleware\Currency",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\packages\Webkul\Shop\src\Http\Middleware\Theme.php",
"line": 31,
"function": "Illuminate\Pipeline\{closure}",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php",
"line": 171,
"function": "handle",
"class": "Webkul\Shop\Http\Middleware\Theme",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\packages\Webkul\Shop\src\Http\Middleware\Locale.php",
"line": 50,
"function": "Illuminate\Pipeline\{closure}",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php",
"line": 171,
"function": "handle",
"class": "Webkul\Shop\Http\Middleware\Locale",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php",
"line": 105,
"function": "Illuminate\Pipeline\{closure}",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Routing\Router.php",
"line": 683,
"function": "then",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Routing\Router.php",
"line": 658,
"function": "runRouteWithinStack",
"class": "Illuminate\Routing\Router",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Routing\Router.php",
"line": 624,
"function": "runRoute",
"class": "Illuminate\Routing\Router",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Routing\Router.php",
"line": 613,
"function": "dispatchToRoute",
"class": "Illuminate\Routing\Router",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php",
"line": 170,
"function": "dispatch",
"class": "Illuminate\Routing\Router",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php",
"line": 130,
"function": "Illuminate\Foundation\Http\{closure}",
"class": "Illuminate\Foundation\Http\Kernel",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\barryvdh\laravel-debugbar\src\Middleware\InjectDebugbar.php",
"line": 65,
"function": "Illuminate\Pipeline\{closure}",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php",
"line": 171,
"function": "handle",
"class": "Barryvdh\Debugbar\Middleware\InjectDebugbar",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Session\Middleware\StartSession.php",
"line": 56,
"function": "Illuminate\Pipeline\{closure}",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php",
"line": 171,
"function": "handle",
"class": "Illuminate\Session\Middleware\StartSession",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse.php",
"line": 37,
"function": "Illuminate\Pipeline\{closure}",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php",
"line": 171,
"function": "handle",
"class": "Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Cookie\Middleware\EncryptCookies.php",
"line": 66,
"function": "Illuminate\Pipeline\{closure}",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php",
"line": 171,
"function": "handle",
"class": "Illuminate\Cookie\Middleware\EncryptCookies",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode.php",
"line": 63,
"function": "Illuminate\Pipeline\{closure}",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php",
"line": 171,
"function": "handle",
"class": "Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php",
"line": 105,
"function": "Illuminate\Pipeline\{closure}",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php",
"line": 145,
"function": "then",
"class": "Illuminate\Pipeline\Pipeline",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php",
"line": 110,
"function": "sendRequestThroughRouter",
"class": "Illuminate\Foundation\Http\Kernel",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\public\index.php",
"line": 77,
"function": "handle",
"class": "Illuminate\Foundation\Http\Kernel",
"type": "->"
},
{
"file": "F:\Projects\administrator-storefront\src\server.php",
"line": 21,
"function": "require_once"
}
]
}

does not work with 1.1.1

when I active this module in bagisto 1.1.1, i get this error when adding an item to the cart
"Class WebkulProductHelpersPrice does not exist"

how to configure PublicVapidKey in service-worker.js

Uncaught TypeError: Cannot set property 'defaultDelay' of undefined
at Module.uPOf (ui.js:2)
at n (ui.js:2)
at Object.0 (ui.js:2)
at n (ui.js:2)
at ui.js:2
at ui.js:2
uPOf @ ui.js:2
n @ ui.js:2
0 @ ui.js:2
n @ ui.js:2
(anonymous) @ ui.js:2
(anonymous) @ ui.js:2
app.js:1 Notification permission granted.
app.js:1 Uncaught (in promise) ReferenceError: messaging is not defined
at app.js:1
(anonymous) @ app.js:1
Promise.then (async)
J66Q @ app.js:1
n @ app.js:1
0 @ app.js:1
n @ app.js:1
(anonymous) @ app.js:1
(anonymous) @ app.js:1
service-worker.js:219 Uncaught TypeError: messaging.usePublicVapidKey is not a function
at service-worker.js:219
(anonymous) @ service-worker.js:219
mobile:68 ServiceWorker registration failed: TypeError: Failed to register a ServiceWorker for scope

pwa dominio

installed pwa
https: // site / mobile
add home screen
open pwa app
not open https: // site / mobile
open https: // site

Update README

  • All the installation steps are not correctly mentioned

  • missing Jenssegers Agent command

  • comptabile bagisto version 1.2.0 is missing

pwa is not compatible with rtl language

Hello bagisto team, we are one of your customer in the Middle East
we found that in case that the user choose Arabic language that support rtl every thing are display from the ltr
could you plz fix this issue ASAP and we will be glad

composer install --no-dev

Mine works fine in development (localhost) but getting "Class 'Jenssegers\Agent\Agent' not found" when running in production.

Screenshot from 2020-05-16 23-29-34

firebase ServiceWorker erro

ui.js:2 Uncaught TypeError: Cannot set property 'defaultDelay' of undefined
at Module.uPOf (ui.js:2)
at n (ui.js:2)
at Object.0 (ui.js:2)
at n (ui.js:2)
at ui.js:2
at ui.js:2
uPOf @ ui.js:2
n @ ui.js:2
0 @ ui.js:2
n @ ui.js:2
(anonymous) @ ui.js:2
(anonymous) @ ui.js:2
app.js:1 Notification permission granted.
app.js:1 Uncaught (in promise) ReferenceError: messaging is not defined
at app.js:1
(anonymous) @ app.js:1
Promise.then (async)
J66Q @ app.js:1
n @ app.js:1
0 @ app.js:1
n @ app.js:1
(anonymous) @ app.js:1
(anonymous) @ app.js:1
index.esm.js:1234 Uncaught {code: "messaging/only-available-in-window", message: "Messaging: This method is available in a Window context. (messaging/only-available-in-window).", stack: "FirebaseError: Messaging: This method is available… at https://yanz.com.br/service-worker.js:219:11"}
(anonymous) @ index.esm.js:1234
(anonymous) @ service-worker.js:219
mobile:68 ServiceWorker registration failed: TypeError: Failed to register a ServiceWorker for scope

Logging in to store after installing PWA

Versions
PHP version: 7.2.0
Laravel version: 6.18.1

I installed the PWA package to my bagisto project, but after I installed I tried to login to the store and got this error:
1
I fixed this error by replacing the public function saveCustomerAddress($data) and adding public function saveCustomerAddress($data): bool in "packages/Webkul/PWA/src/cart.php"

After I fixed this error I ran into a new error which was this:
2
I looked it up and found this link which helped fix the error:
https://forums.bagisto.com/topic/1100/class-webkul-product-helpers-price-does-not-exist/3
I added a new file in the helpers folder in product package "packages/Webkul/Product/src/Helpers"

After I fixed this issue, I got a new one which was this:
3
I looked it up, but I was unable to find a fix for it, could you please help me?
Thanks in advance

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.