Home / Projects / Shopify Reseller Plugin Manager

Shopify Reseller Plugin Manager

A Shopify plugin that helps store owners manage resellers efficiently. Built with Remix.js, TypeScript, and Shopify Polaris.

Features

  • Authentication: Secure login system for Shopify stores
  • Reseller Management: Handle reseller accounts and permissions
  • Trade Operations: Manage trade-related transactions
  • Email Notifications: SendGrid integration for automated communications
  • Webhook Support: Real-time event handling

Tech Stack

  • Frontend:
    • React with Remix.js
    • Shopify Polaris UI components
    • TypeScript
  • Backend:
    • Node.js with Remix.js
    • Prisma ORM
    • SendGrid for email services
  • Database:
    • Managed through Prisma
    • Includes session management
    • Structured migrations

Project Structure

shopify-plugin-reseller-manager/
├── app/                    # Main application code
│   ├── model/             # Server-side business logic
│   │   ├── reseller.server.js
│   │   ├── sendgrid.server.js
│   │   └── shopify.server.js
│   ├── routes/            # Application routes
│   └── shopify.server.ts  # Shopify integration
├── extensions/            # Shopify app extensions
├── prisma/               # Database configuration
│   ├── migrations/       # Database migrations
│   └── schema.prisma    # Database schema
└── public/              # Static assets

Environment Setup

The application supports multiple environments through different configuration files:

  • shopify.app.reseller-plugin-dev.toml - Development environment
  • shopify.app.reseller-plugin.toml - Production environment
  • shopify.app.toml - Base configuration
  • shopify.web.toml - Web-specific settings

Development

  1. Install dependencies:
yarn install
  1. Set up environment variables:
  • Copy .env.example to .env
  • Configure required environment variables
  1. Run database migrations:
npx prisma migrate dev
  1. Start development server:
yarn dev

Deployment

The project includes Docker support for containerized deployment:

  1. Build Docker image:
docker build -t shopify-reseller-manager .
  1. Run container:
docker run -p 3000:3000 shopify-reseller-manager