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 environmentshopify.app.reseller-plugin.toml
- Production environmentshopify.app.toml
- Base configurationshopify.web.toml
- Web-specific settings
Development
- Install dependencies:
yarn install
- Set up environment variables:
- Copy
.env.example
to.env
- Configure required environment variables
- Run database migrations:
npx prisma migrate dev
- Start development server:
yarn dev
Deployment
The project includes Docker support for containerized deployment:
- Build Docker image:
docker build -t shopify-reseller-manager .
- Run container:
docker run -p 3000:3000 shopify-reseller-manager