Coder Social home page Coder Social logo

mtx-z / sage9-woocommerce-integration Goto Github PK

View Code? Open in Web Editor NEW
26.0 4.0 1.0 27 KB

How to use Woocommerce (3.4.3) with Sage 9.0.1 (Blade + SoberWP controllers), WP 4.9.7 (17/07/2018)

PHP 97.60% HTML 2.40%
woocommerce sage wordpress rootsio soberwp sage9 woocommerce3 blade controllers override

sage9-woocommerce-integration's Introduction

Hey! I am an Experienced (8y+) Fullstack Developer who worked with various startups from various domains. Skilled & experienced with Laravel laravel, VueJS vuejs, NuxtJS nuxtjs , AWS aws , Linux infrastructures, Wordpress and many more in the web ecosystem. I'm used to manage apps & webapps from scratch: concept, quotes, infrastructure, backend, frontend, continuous integration, quality and tests.

  • πŸ‘¨β€πŸ’» I use daily: Javascript, PHP, Git, Shell, Python & Stackoverflow
  • ⚑️ I’m currently working with: Laravel, VueJS, NuxtJS, InertiaJS, Vuetify. Also NextJS since version 12, mostly for ISR. I experiment with SvelteKit, mostly for the "no virtual dom" argument.
  • πŸš€ I work on: AWS, Public Cloud, dedicated servers, VPS
  • 🀝 I love to help on stackoverflow, and creating useful gists on Github
  • πŸ’¬ Ask me about Laravel, VueJS, AWS, Nginx, Wordpress
  • πŸ‘¨β€πŸ”¬ Learning all about: python (Flask, FastPI, Tensorflow), serverless infrastructures (AWS lambda, Vapor), Swole PHP (Octane)
  • πŸ“„ Know about my experiences on Malt
  • 😬 Fun fact: my first internet connection was 1 USB Wifi dongle, 3 USB extension cables, and backtrack 3 (if you know, you know)

I worked on adult dating platforms, betting and game platforms, textual reviews semantic analysis and categorization platforms (with data viz), associative websites, recruitment application, ecommerce and marketplaces websites, and many more.

mtx-z

Omid Nikrah StackOverflow 5608694

πŸ‘Œ laravelvuejsvuetifynuxtjsjavascriptawselasticsearchtailwindnginxlinux
πŸ‘β€πŸŽ“ typescriptnativescriptandroidpythondjangotensorflowfirebasegrafanagraphql
πŸ‘¨β€πŸ”¬β€πŸš€ Swoole lambda web3js Solidity
⚑Detailed stack⚑

Backend:

  • Laravel
    • micro-services (Vapor/Lambda, SQS/REDIS queues) et multi-instances (API, workers/queues, VCS composer from private Github repo - even with Beanstalk), Lumen
    • Authentication: Passport Oauth2, Auth0, Sanctum, Socialite, SSO multi-app, JWT...
    • REST APIs: fractal, swagger, GraphQL (Lighthouse)
    • Stripe (Cashier, abonnement recurent, single time payment, gestion multi carte), Paypal, PaySafeCard, Bitcoin gateway, MangoPay Marketplace
    • Performance: Eloquent queries and DB Schema auditing (slow, repetitive, non-optimized queries), browser and server caching strategies, queue/worker strategies, code performance audit (Blackfire), best practices
    • Tests: unit, Dusk
    • Push notification, Mailjet (custom Send API Mailjet transport, full API integration, SMS), Mailchimp (full API integration)
    • CI/CD with AWS Beanstalk, Envoyer/Forge, Buddy
  • Django
    • for Tenserflow integration (ORM, API, framework helpers)

Frontend:

  • VueJS 2 & 3
    • SSR (Server Side Rendering), PWA (Progressive Web App), SPA (Single Page Application)
    • NuxtJS
    • IntertiaJS (Jetstream)
  • Vuetify, Vue Material, Styled components
  • Tailwind, Bootstrap, SASS, Flexbox
  • ES6, TypeScript
  • Webpack, ViteJS
  • Custom service workers, "offline mode"

API

  • REST API (private with authentication [oauth2, jwt...], or public [rate limitating, IP restriction...])
  • Fractal transformers
  • Swagger documentation
  • GraphQL (Lighthouse)
  • Wordpress & Woocommerce REST APIs (eg: with frontend VueJS components)

AWS Devops

  • Full scallable CI/CD Elastic Beanstalk
    • EC2, RDS, SQS, Cloudfront, API Gateway, IAM, CloudWatch, code pipeline, code build
    • Fully scallable:
      • Frontend with Cloudfront
      • RDS Database with replicas
      • Load-balanced and failover EC2 instances maanged by Beanstalk for APIs and Workers
      • Continuous integration and development with CodeBuid and CodePipeline
  • scallable EC2s with external CI/CD

Linux Devops

  • Custom Ansible, standalone install from sources
    • PHP 8: OPcache, FastCGI cache mounted in RAM, multiple parallel versions
    • MySQL: MariaDB, MySQLTuner tests
    • Nginx: reverse proxy (load balancing, failover), high-performa, CSP headers, caching headers, REDIS cache, SSL let's encrypt auto-renew, Google Pagespeed module, HTTP/2, HTTP/3 QUIC, Brotly compression
    • Security: OWASP (ModSecurity), fail2ban (custom jails), UFW/iptables firewall, ClamV, Cisofy Lynis, rootkit detection, user & group proper management, Cloudflare API integration (firewall), SSL/TLS ciphers
    • nvm, pyenv, bash script
    • RSYNC incremental local and remote backup (remotely initiaized, multi destination, slack alerting...)
    • Amplify, Graylog, logz.io, Sentry, Bugsnag
    • VPS, dedicated & public clouds

Database

  • MySQL (MariaDB), RDS, MySQLTuner auditing
  • REDIS
  • ElasticSearch, Algolia
  • Firebase
  • GoogleSheet API, Airtable, NocoDB

CI/CD

  • AWS Beanstalk
  • Github actionsB
  • uddy
  • Envoyer/Forge
  • Circle CI

Wordpress

  • Sage (ES6, blade, composer, webpack, Yarn)
  • custom plugin & themes (with Sage)
  • Gutemberg ACF blocks custom
  • WP/Woocommerce REST APIs (VueJS/ES6 frontend components)
  • custom payment gateways
  • WP CLI
  • ACF extended
  • Woocommerce advanced usage: REST API, custom payment gateways, custom dashboards, custom shiping methods, custom cart and tax calculations, custom checkout processed etc.

Services I use & integrate

  • Notification: Mailjet Send API, Mailchimp, Pusher
  • Integration CRM: Microsoft 360, Salesforce, Hubspot
  • Integration: Zapier, Integromat, IFTTT
  • Transaction: Stripe (single, recurent), Paypal, PaySafeCard, Bitcoin/ETH gateways, marketplace with MangoPay, internal wallet systems, PIP, BNB Mercanet, Paybox
  • Data viz: Grafana, Clicdata

Experiences / learning / want to dig

  • more experiences with Tenserflow
  • serverless full and partial environment (AWS Lambda)
  • PHP Swole (Octane)
  • Web3JS, Solidity, IPFS
  • WebRTC, WebAssembly
  • Voice Search Optimization
  • Arduino, Raspberry Pi, Zigbee, Hue, MQTT
  • Tor websites (creation)
  • Chrome extension (already did some PoC)

Ashutosh's github activity graph

mtx-z

mtx-z

sage9-woocommerce-integration's People

Contributors

mtx-z 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

Watchers

 avatar  avatar  avatar  avatar

Forkers

zo-raveloson

sage9-woocommerce-integration's Issues

header.php, footer.php or sidebar.php template missing deprecated notice

Issue do not seem to have a proper fix.
Made few non-conclusive tests.

Error: Notice: Theme without sidebar.php is deprecated since version 3.0.0 with no alternative available. Please include a sidebar.php template in your theme. in C:\laragon\www\mnp\wp-includes\functions.php on line 3984. (also with header.php or footer.php).

See roots/sage#610.

NOT WORKING:
I didn't success to prevent only prevent notice error to no be displayed.

~~Remove "notice" verbose level:
I removed "notice" verbose level from output using a mu-plugin.
Create /wp-content/mu-plugins/verbose.php

Containing:
error_reporting(E_ALL ^ E_NOTICE); //all except notice

In wp-config.php add
error_reporting(E_ERROR | E_WARNING | E_PARSE); //report only error, warning, parse errors

Source that have some useful links also about customizing verbose level (and this).

WC Status: Template Overrides with .blade.php file paths

Hi there,

as the roots forum has too many separated WooCommerce topics, I'm happy that you started this for bringing everything together. I did a couple of adjustments and I'll be happy to provide them later. For now I had the issue that I want to set the template version within the custom WC .blade.php files by using at the beginning of each file e.g.:
`{{--
Displays a single product content
@Version 3.4.0
--}}Β΄

That will help to solve compatibily issues later when using the WC Status page to see all overrides.
However the current 'wc_get_template'filter returns the path to the .php files in the cache with a filename which isn't readable. So I'm trying to find a solution to return the blade path instead for that specific scenario. I tried to minimize the extra code to a minimum but it's quite hard to limit my addition to only that specific request.

This is what I came up so far:


add_filter( 'wc_get_template', function ( $located, $template_name, $args, $template_path, $default_path) {
    $bladeTemplate = locate_template( [ $template_name, 'resources/views/' . WC()->template_path() . $template_name ] );

    // If we're in dashboard on the WC status page and the request comes from class 'WC_REST_System_Status_Controller' and function 'get_theme_info':
    // return .blade.php path
    if ( is_admin() ) {
        if( strpos(get_current_screen()->id, 'wc-status') ) {
            $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 5);
            foreach($backtrace as $call) {
                if( (isset($call['class']) && $call['function']) && ($call['class'] == 'WC_REST_System_Status_Controller') && $call['function'] == 'get_theme_info') {
                    return $bladeTemplate;
                }
            }
        }
    }

    if ( $bladeTemplate ) {
        return template_path( $bladeTemplate, $args );
    }
    return $located;
}, PHP_INT_MAX, 5 );

Maybe you have a better idea or some input to make this as performant as possible. Until now I'm also not sure whether this could be useful for other WC parts as well.

Best Regards,

Philipp

https://discourse.roots.io/t/wc-status-template-overrides-with-blade-php-file-paths/12938

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.