Skip to content

zeon-studio/storeplate

Repository files navigation

Storeplate | AstroJs + Shopify + Tailwind CSS + TypeScript Starter and Boilerplate

A free, production-ready astro.js template powered by Tailwind CSS and TypeScript, specifically designed for Shopify. Utilizes the Shopify Storefront API through GraphQL and provides everything you need to jumpstart your Astro project and save valuable time.

Made with ♥ by Zeon Studio

If you find this project useful, please give it a ⭐ to show your support.

astro version license code size contributors

📌 Key Features

  • 🌐 Dynamic Products from Shopify Storefront API
  • 💸 Checkout and Payments with Shopify
  • 🌞 Automatic Light/Dark Mode
  • 🚀 Fetching and Caching Paradigms
  • 🔗 Server Actions for Mutations
  • 🔐 User Authentication
  • 🧩 Similar Products Suggestions
  • 🔍 Search, Sort, Different Views Functionality
  • 🏷️ Tags & Categories & Vendors & Price Range & Product Variants Functionality
  • 🖼️ Single Product Image Zoom, Hover Effect, Slider
  • 🛒 Cart & Easy editing options for cart items
  • 📝 Product Description on Multiple Tabs
  • 🔗 Netlify Setting Pre-configured
  • 📞 Support Contact Form
  • 📱 Fully Responsive
  • 🔄 Dynamic Home Banner Slider
  • 📝 Write and Update Content in Markdown / MDX
  • ⌛ Infinite Product Load on Scrolling

📄 10+ Pre-designed Pages

  • 🏠 Homepage
  • 👤 About
  • 📞 Contact
  • 🛍️ Products
  • 📦 Product Single
  • 💡 Terms of services
  • 📄 Privacy Policy
  • 🔐 Login
  • 🔑 Register
  • 🚫 Custom 404

🚀 Getting Started

📦 Dependencies

  • shopify
  • astro 6.1.5
  • node v22.20+
  • npm v10.2+
  • tailwind v4.1+

🛒 Retrieve Shopify Token & Add Demo Products

Note: Shopify has transitioned to the new Headless Sales Channel authentication system using Public/Private Access Tokens. The old "Private Apps" system is deprecated. Follow the steps below to get your tokens.

Step 1: Create a Shopify Store

  • To get the tokens needed, create a Shopify partner account. Screenshot_1

  • Now go to 'Stores' and select 'Add store.' Create a development store using the option 'Create development store'. Screenshot_2

  • Click on import products. Screenshot_3

  • Locate the 'products' CSV file in the public folder of the repository and upload it for demo products. Screenshot_4

Step 2: Create a Headless Sales Channel (New Method)

  • On the admin dashboard, click on 'Settings' at the bottom of the left sidebar. Screenshot_5

  • On the Settings page, click on 'Apps and sales channels' on the left sidebar. Screenshot_6

  • Click on 'Shopify App Store' to browse apps.

  • Search for and install the "Headless" sales channel app (official Shopify app).

  • Once installed, open the Headless channel and click 'Create storefront'.

  • Give your storefront a name (e.g., "Next.js Storefront").

  • Navigate to the 'API credentials' or 'Storefront API' tab to get your tokens:

    • Private Access Token: Used for server-side API calls (required)
    • Public Access Token: Used for client-side/browser queries (optional)
    • Storefront API endpoint: Your store domain (e.g., your-store.myshopify.com)

Step 3: Configure Environment Variables

  • Copy .env.example to .env and fill in your credentials:
PUBLIC_SHOPIFY_STORE_DOMAIN="your-store.myshopify.com"
PUBLIC_SHOPIFY_STOREFRONT_PRIVATE_ACCESS_TOKEN="your-private-access-token"
PUBLIC_SHOPIFY_REVALIDATION_SECRET="your-revalidation-secret"  # Optional, for webhooks

Migration from old system: If you have existing PUBLIC_SHOPIFY_STOREFRONT_ACCESS_TOKEN or PUBLIC_SHOPIFY_API_SECRET_KEY values, they will continue to work. However, we recommend migrating to the new token format for better security.

  • When adding your product, use the same alt title for images with the same color. This helps the first image appear as the color variant in the selector. Screenshot_13 Screenshot_14

  • We have the option to create additional collections for products. Screenshot_15

🚀 Setting Up the Hero Slider

  1. Go to the file /src/config/config.json in your Shopify project and find the 'hero_slider' section. You’ll see something like this:

    "shopify": {
      "currencySymbol": "",
      "currencyCode": "BDT",
      "collections": {
        "hero_slider": "hidden-homepage-carousel",
        "featured_products": "featured-products"
      }
    }
  2. Change the 'hero_slider' collection name to something of your choice.

  3. Then, go to your Shopify Partner Dashboard, navigate to Products > Collections, and create a collection with the same name you set in the config file (e.g., 'hidden-homepage-carousel').

  4. Add the products you want to display in the hero slider to this collection.

👉 Install Dependencies

npm install

👉 Development Command

npm run dev

👉 Build Command

npm run build

🐞 Reporting Issues

We use GitHub Issues as the official bug tracker for this Template. Please Search existing issues. It’s possible someone has already reported the same problem. If your problem or idea has not been addressed yet, feel free to open a new issue.

📝 License

Copyright (c) 2024 - Present, Designed & Developed by Zeon Studio

Code License: Released under the MIT license.

Image license: The images are only for demonstration purposes. They have their license, we don't have permission to share those images.

💻 Need Custom Development Services?

If you need a custom theme, theme customization, or complete website development services from scratch you can Hire Us.

About

Astro Powered Shopify Storefront Boilerplate with TailwindCSS and Nanostores.

Topics

Resources

License

Stars

Watchers

Forks

Contributors