Skip to content

AJFrio/OpenShop

Repository files navigation

OpenShop Logo

OpenShop - An Open-Source AI Platform for Smarter Stores.

Launch your online store in minutes. Built on Cloudflare's edge network for lightning-fast performance, zero infrastructure costs, and unlimited scalability.

License: AGPL v3 Node.js Version Deploy to Cloudflare


Why OpenShop?

OpenShop is the fastest, most cost-effective way to launch an e-commerce store. Built entirely on Cloudflare's edge network, you get:

  • Lightning Fast - Sub-100ms response times worldwide
  • Completely Free - Stays within Cloudflare's generous free tier (100k requests/day)
  • One-Command Deploy - Your store is live in under 5 minutes
  • Enterprise Security - Built-in DDoS protection, SSL, and secure authentication
  • Mobile-First - Beautiful, responsive design that works everywhere
  • Unlimited Stores - Deploy as many stores as you want from one codebase

Perfect for entrepreneurs, developers, and businesses who want a professional online store without the complexity or cost of traditional e-commerce platforms.


Features

Core Functionality

  • Complete E-commerce - Products, collections, shopping cart, and Stripe checkout
  • Product Management - Multiple images, variants, and rich descriptions
  • Collections - Organize products with beautiful hero banners
  • Stripe Integration - Automatic product sync and secure payment processing
  • Analytics Dashboard - Real-time revenue and order insights

User Experience

  • Smart Shopping Cart - Persistent cart with quantity management
  • Mobile Optimized - Fully responsive with mobile-specific cart experience
  • Intuitive Navigation - Collection links with product preview dropdowns
  • Beautiful UI - Modern design with Tailwind CSS and ShadCN/UI

Advanced Features

  • Rich Media Support - Multiple product images with carousel navigation
  • Store Customization - Dynamic logo management (text or image)
  • Secure Admin System - Token-based authentication with session management
  • AI Image Generation (Optional) - Generate product images with Gemini AI
  • Google Drive Integration (Optional) - Store and serve images from Google Drive

Quick Start

Prerequisites

One-Command Setup

  1. Clone and Install

    git clone https://github.com/AJFrio/OpenShop openshop
    cd openshop
    npm install
  2. Automated Deployment

    npm run setup

    The setup wizard will prompt you for:

    • Project Name - Unique name for your store
    • Cloudflare API Token - Get token here
    • Cloudflare Account ID - Found in your Cloudflare dashboard
    • Stripe Keys - Secret and publishable keys from Stripe dashboard
    • Admin Password - Your secure admin password
    • (Optional) Gemini API Key - For AI image generation
    • (Optional) Google OAuth - For Google Drive integration

    See Configuration Guide for detailed setup instructions.

  3. Your Store is Live!

    Access your store at: https://your-project-name.username.workers.dev

    Access admin at: https://your-project-name.username.workers.dev/admin


Admin Dashboard

Access your admin dashboard at /admin on your store URL.

Security Features:

  • Password-protected login
  • 24-hour session tokens
  • Separate authenticated API endpoints
  • No visible admin link on storefront (access via direct URL)

Admin Capabilities:

  • Create, edit, and delete products with multiple images
  • Manage collections with hero banners
  • Customize store branding and appearance
  • View real-time analytics and revenue insights
  • Generate AI images (optional)
  • Upload images to Google Drive (optional)

For detailed admin documentation, see Architecture Guide.


Multiple Store Support

Deploy unlimited stores from a single codebase, each with its own:

  • Worker deployment and subdomain
  • Isolated KV namespace (separate data)
  • Admin credentials and settings
  • Stripe configuration
# Create your first store
npm run setup
# Project Name: "electronics-hub"

# Create another store
npm run setup
# Project Name: "fashion-boutique"

# List all your stores
npm run sites

# Deploy a specific store
npm run deploy electronics-hub

See Deployment Guide for complete multi-site documentation.


Development

Local Development

# Full-stack development (Worker + Frontend)
npm run dev

# Frontend-only development
npm run dev:frontend

# Build for production
npm run build

# Deploy to production
npm run deploy

# Preview production build locally
npm run preview

For detailed development instructions, see Development Guide.


Documentation

Complete documentation is available in the docs/ directory:


Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow existing code style and patterns
  • Add tests for new functionality
  • Update documentation for any changes
  • Ensure all builds pass before submitting

License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) - see the LICENSE file for details.


Support & Community

Getting Help

Resources


Acknowledgments

Special thanks to:

  • Cloudflare - For the incredible Workers platform and generous free tier
  • Stripe - For reliable payment processing and excellent developer experience
  • Vercel - For the ShadCN/UI component library
  • The Open Source Community - For the amazing tools and libraries

Showcase

Built something awesome with OpenShop? We'd love to feature your store! Open an issue with your store URL and a brief description.


Made for the open-source community

Star this repoReport BugRequest Feature

About

Opensource, easy to use E-comm platform for business owners and creatives

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages