GithubHelp home page GithubHelp logo

willycotes / nextjs-woocommerce Goto Github PK

View Code? Open in Web Editor NEW

This project forked from w3bdesign/nextjs-woocommerce

0.0 0.0 0.0 4.51 MB

NextJS (React) eCommerce site with WooCommerce backend

Home Page: https://nextjs-woocommerce.now.sh/

License: GNU General Public License v3.0

JavaScript 99.36% CSS 0.62% Shell 0.02%

nextjs-woocommerce's Introduction

Codacy Badge Scrutinizer Code Quality CodeFactor Quality Gate Status

Screenshot 1

NextJS Ecommerce site with WooCommerce backend

Table Of Contents (TOC)

Installation

  1. Install and activate the following required plugins, in your WordPress plugin directory:

Optional plugin:

The current release has been tested and is confirmed working with the following versions:

  • WordPress version 5.6.0
  • WooCommerce version 5.0.0
  • WP GraphQL version 1.2.4
  • WooGraphQL version 0.6.1
  1. For debugging and testing, install either:

    https://addons.mozilla.org/en-US/firefox/addon/apollo-developer-tools/ (Firefox)

    https://chrome.google.com/webstore/detail/apollo-client-developer-t/jdkknkkbebbapilgoeccciglkfbmbnfm (Chrome)

    Rename .env.example to .env so the Apollo debugger will correctly load. It will not load if the NODE_ENV variable is not correctly set.

  2. Make sure WooCommerce has some products already or import some sample products

    The WooCommerce sample products CSV file is available at wp-content/plugins/woocommerce/sample-data/sample_products.csv or Sample products

    Import the products at WP Dashboard > Tools > Import > WooCommerce products(CSV)

  3. Clone or fork the repo and modify nextConfig.js.

    Then set the environment variables ALGOLIA_APP_ID and ALGOLIA_PUBLIC_API_KEY in Vercel or your preferred hosting solution.

    See https://vercel.com/docs/environment-variables

  4. Modify the values according to your setup

  5. Start the server with npm run dev

  6. Enable COD (Cash On Demand) payment method in WooCommerce

  7. Add a product to the cart

  8. Proceed to checkout (GĂĽ til kasse)

  9. Fill in your details and place the order

Features

  • NextJS version 10.1.3
  • Connect to Woocommerce GraphQL API and list name, price and display image for products
  • Support for simple products and variable products
  • Cart handling and checkout with WooCommerce (Cash On Delivery only for now)
  • Algolia search (requires algolia-woo-indexer)
  • Meets WCAG accessibility standards where possible
  • Placeholder for products without images
  • Apollo Client with GraphQL
  • React Hook Form with form validation and error display
  • Animations with React-Spring and Animate.css
  • Loading spinner created with Styled Components
  • Shows page load progress with Nprogress during navigation
  • Fully responsive design
  • Category and product listings
  • Pretty URLs with builtin Nextjs functionality
  • Tailwind CSS for styling
  • JSDoc comments
  • WooCommerce cart session is automatically deleted after 48 hours to prevent GraphQL session expiration errors

Troubleshooting

I am getting a cart undefined error or other GraphQL errors

Check that you are using the 0.6.1 version of the wp-graphql-woocommerce plugin

The products page isn't loading

Check the attributes of the products. Right now the application requires Size and Color.

Issues

Overall the application is working as intended, but it has not been tested extensively in a production environment. More testing and debugging is required before deploying it in a production environment.

With that said, keep the following in mind:

  • Currently only simple products and variable products work without any issues. Other product types are not known to work.
  • Only Cash On Delivery (COD) is currently supported. More payment methods may be added later.

TODO

  • Read https://www.react-spring.io/log and update React-spring to version 9
  • Add total to cart/checkout page
  • Show stock quantity on individual products
  • Copy billing address to shipping address
  • Display product variation name in cart / checkout
  • Hide products not in stock
  • Add better SEO
  • Re-add Next/image when it is working better

nextjs-woocommerce's People

Contributors

codacy-badger avatar dependabot-preview[bot] avatar dependabot[bot] avatar imgbotapp avatar w3bdesign avatar

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.