WooCommerce Nextjs React Theme π
- This is a React WooCommerce theme, built with Next JS, Webpack, Babel, Node, GraphQl
πΉ Full Course Video Tutorial
Important Note β:
The code for the Video Tutorial is in the branch youtube-course However, since there is continuous contribution and updates to this project. The 'master' branch is upto date with those changes. You can also refer to the PR notes for changes.
Demo Desktop πΉ
Live Demo:
Checkout Page Demo
Payment Demo ( Paypal example )
Order Received Demo
Stripe Checkout
Features:
- WooCommerce Store in React( contains: Products Page, Single Product Page, AddToCart, CartPage and Checkout Page with country selection ).
- SSR
- SEO friendly
- Automatic Code Splitting
- Hot Reloading
- Prefetching
- Incremental Static (Re)generation ( Next.js 10 support )
- GraphQL with Apollo Client
- Tailwindcss
- Stripe Checkout ( with Stripe Session and Stripe webhook)
Getting Started π
These instructions will get you a copy of the project up and running on your local machine for development purposes.
Prerequisites π
Installing π§
- Clone this repo using terminal
git clone git@github.com:imranhsayed/woo-next
cd woo-next
yarn install
Add GraphQl support for WordPress
- Download and activate the following plugins , in your WordPress plugin directory:
-
wp-graphql Exposes graphql for WordPress ( Tested with v-1.3.8 of this plugin )
-
wp-graphql-woocommerce Adds Woocommerce functionality to a WPGraphQL schema ( Tested with v-0.8.1 of this plugin )
-
headless-cms Extends WPGraphQL Schema ( Tested with v-1.8.0 of this plugin )
-
Make sure Woocommerce plugin is also installed in your WordPress site. You can also import default wooCommerce products that come with wooCommerce Plugin for development ( if you don't have any products in your WordPress install )
WP Dashboard > Tools > Import > WooCommerce products(CSV)
: The WooCommerce default products csv file is available atwp-content/plugins/woocommerce/sample-data/sample_products.csv
Hero Carousel.
To use Hero carousel, create a category called 'offers' from WordPress Dashboard > Products > Categories. Now create and assign as many child categories to this parent 'offers' category with name, description and image. These Child categories data will automatically be used to create hero carousel on the frontend.
Configuration(for GraphQL implementation) π§
- Note Below is for GraphQL implementation , for REST API check feature/rest-api branch
- (Required) Create a
.env
file taking reference from.env-example
and update your WordPressSite URL.
NEXT_PUBLIC_WORDPRESS_URL=https://example.com
Branch details
-
feature/rest-api Contains REST API Implementation.
-
The
master
branch has the GraphQL implementation.
Common Commands π»
dev
Runs server in development mode
Code Contributors β°
Thanks to all the people who contributed to the code of this project π€
Contributing π₯
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Versioning π
I use Git for versioning.
Author π€
License π
This project is licensed under the MIT License - see the LICENSE.md file for details