One platform. No plugin chaos. No framework bloat. No monthly fees.
BulkWork Suite is a self-hosted PHP business platform designed for digital sellers, creators, and small businesses who want to own their infrastructure. It is not Laravel — it's a custom, lightweight PHP MVC application with a theme layer, REST API (v1 & v2), PWA support, and zero monthly fees. You install it on your own server, keep full control of your data, and never pay a SaaS subscription.
This is a complete store ecosystem with a built-in customer portal, admin panel, affiliate system, blog, ticketing, documentation (knowledge base), finance/accounting, tax compliance, push notifications, multi-language support, and much more.
Core Platform Features
Store Front (Public)
- Theme-driven product grid with category filtering (by slug) and full-text search
- Responsive design (Bootstrap 5), mobile-first layout, dark navbar
- Product cards with type badges, sale badges, ratings, version badges, and category labels
- Partner/client logo carousel on homepage
- Custom Services section + Portfolio showcase section
- "Most Rated Products" highlight section
- Multilingual: English, Portuguese (Brazil), Spanish with flag-based language selector
- Full schema.org structured data (Organization, WebSite, SearchAction, Product, FAQ, BreadcrumbList, AggregateRating)
- hreflang tags for international SEO
- LLMs.txt support (AI/LLM discovery files in EN, BR, ES — both concise and full versions)
- Dynamic XML sitemap with pagination and hreflang alternates
- PWA manifest + service worker + install tracker + splash screens + app shortcuts
- Image optimization proxy with responsive srcset, lazy loading, WebP support
Product Pages
- Full product detail page: title, description, gallery, screenshots, requirements, changelog
- Multiple license types: regular license, extended license, pre-order pricing
- Domain pack pricing (buy extra domain activations: 1, 3, 5, 10, or unlimited)
- Holiday promotion auto-application (date-range discounts, per-product or global)
- Service product handling (custom themes, server setup, other services)
- Service agreement modes (standard vs exclusive with pricing)
- Pre-sale Q&A comments with CAPTCHA, honeypot, rate limiting, StopForumSpam validation
- Customer reviews with star ratings and aggregate display
- Product FAQs with FAQ schema JSON-LD
- "You May Also Like" product recommendations (same category, popular)
- Related blog posts and portfolio projects per product
- Free/paid installation add-to-cart
- Previous/next product navigation
- Rich SEO: meta tags, Open Graph, Twitter Cards, canonical URLs, JSON-LD (Product, Offer, AggregateOffer, AggregateRating, MerchantReturnPolicy, ShippingDetails)
Shopping Cart
- Session-based cart stored in PHP session
- Add/remove items, clear cart, quantity adjustment
- Supports products, services, installation addons, domain packs, agreement modes
- Real-time cart total calculation
- Theme-rendered cart page
Checkout System
- Billing form: name, email, phone, address, city, state, zip, country
- Automatic tax calculation based on billing address (country/state via tax rules)
- Payment methods: Stripe (Checkout Sessions, cards only, Apple Pay, Google Pay), PayPal (Smart Buttons), Free checkout ($0 orders)
- Customer auto-creation for new emails, existing customer lookup for returning buyers
- Affiliate referral tracking on order (via cookie or URL parameter)
- Stripe webhook + PayPal webhook for async payment confirmation
- Checkout success page with license generation, service request creation, commission sync, and confirmation email
- Security: raw card field detection, CSRF protection, affiliate commission tracking
Customer Portal
- Dashboard: Welcome banner, quick actions (Services, Docs, Tickets, Bug Report, Feature Request, Store), stat cards (Purchases, Active Licenses, Downloads, Open Tickets, Services), recent orders list
- Orders: View all paid orders, individual order details (items, pricing, payment info, download links, license keys), invoice download
- Licenses: View all licenses per product (status badge, domain, license type, expiry, activation limit), domain pack usage display, install URL management, license certificate download
- Downloads: Product download area with version history, download count tracking, latest version indicator
- Services: Service request list with status tracking, delivery file downloads, service agreement review/acceptance
- Support Tickets: Create tickets with subject, message, priority, product selection; view ticket status and message thread
- Bug Reports: Submit bugs with title, description, severity, product selection; track resolution status
- Feature Requests: Submit and vote on feature requests; track implementation status
- Documentation: Browse knowledge base articles by category, full article view, PDF export (per article or per category)
- Reviews: Submit product reviews (rating 1-5, title, text), review history
- Affiliate Dashboard: Affiliate profile management (code, PayPal email), stats (clicks, conversions, pending/approved/paid commissions), referral URL generator per target type, asset/banner display
- Settings: Update profile (name, email, password), email preferences
- API Sessions: View/manage API access tokens, API documentation
- GDPR Tools: Account data export, account deletion request
- Claim Purchase: Claim existing purchases by email/order number
- Email Preferences: Newsletter/notification toggle
- Password Reset: Forgot password and email verification flows
Admin Panel
- Dashboard: 10 stat cards (Paid Orders, Revenue, Customers, Products, Open Tickets, Bug Reports, Tax Collected, Feature Requests, Pending Reviews, Pending Comments), recent orders, open tickets, tax filing alerts, recurring expense alerts, planner mini-stats
- Products: Full CRUD with rich editor (AI content generation via OpenAI), product type (script/addon/theme/patch/other), status (published/draft/coming_soon/preorder), pricing (regular/sale/extended/preorder), license settings, version tracking, screenshot gallery, product FAQs, changelog, SEO audit badge, domain pack pricing, service agreement modes
- Orders: List/search/filter by status, invoice generation (PDF), payment status management, full order detail view
- Customers: List/search, create accounts, view profile (orders, licenses, tickets, downloads, services), admin notes
- Licenses: Full license lifecycle management (activate, deactivate, suspend, reset domain, edit), search by key/customer/product/domain, filter by status
- Support Tickets: Priority/status management, internal admin notes, customer reply tracking
- Blog: Posts CRUD with AI content generation, hierarchical categories, SEO audit badges, product linking, scheduling
- Finance: Profit & Loss overview (monthly, yearly), expense tracking with categories, receipt PDFs, recurring expenses, affiliate liabilities tracking, full P&L reporting
- Tax System: Tax rules per country/state, tax filing management, tax schedules, tax reporting, filing alerts on dashboard
- Bug Reports: Manage with severity/status workflow, quick status changes
- Feature Requests: Manage with vote tracking and status workflow
- Reviews: Approve/reject/review moderation
- Comments: Pre-sale Q&A moderation
- Downloads & Versions: Upload product files (zip, gz, tar, tgz, rar, 7z), version management, changelog, release notes, auto-update product version
- Admin Users: Multi-admin with roles (super/admin), create/edit/delete, first admin locked as super
- Affiliates: Settings (commission %, hold days, cookie duration, min payout), affiliate approval/suspension, commission management, PayPal Payouts batch processing via API, affiliate asset/ads upload, audit logging
- Services: Service request management (waiting/in_progress/done), service agreements, delivery file upload, license attachment, ticket linking
- Themes: Install/activate/deactivate themes, theme requirements checker, skeleton theme download, theme customizer integration
- Appearance (Theme Customizer): Live color/font/spacing customization, custom CSS injection, generated CSS output
- Settings (8 sections):
- Store: Name, tagline, currency, registration, branding (logo/favicon), SEO, about page, social links, FAQs, languages, service agreements, domain packs, planner, email subscribers
- Payments: Stripe keys, PayPal client ID/secret, PayPal Payouts (encrypted secrets)
- SMTP: Host, port, security (TLS/SSL/None), credentials, test email
- Security: CAPTCHA provider (Turnstile/reCAPTCHA/hCaptcha/None), CAPTCHA toggles per form
- PWA: App name, icons, splash screens, screenshots, shortcuts, service worker, offline page
- Email Branding: Custom header color, footer text, business address, logo, signature, social links
- Integrations: PortaSale, CodeCanyon, Push Notifications (Firebase/OneSignal), AI (OpenAI)
- Tax: Enable/disable tax collection, link to tax rules
- Email Templates: Full transactional email template editor with multi-language support, variable reference, branded wrapper, preview, auto-seed defaults
- SEO Audit: Page-level SEO/AIO/GEO auditing, score calculation, issue detection (missing tags, broken links, alt text, heading structure), batch scores for products and blog
- Planner: Task management system (overdue, due today, in progress, blog ideas), CRUD with type/priority/status/due date/estimated hours
- Subscribers: Email subscriber management with source tracking, CSV export, unsubscribe processing
- Maintenance: Maintenance mode (custom message, admin access, end time, allowed IPs), database backup (create/download/delete), GDPR data export, account deletion queue
- Categories: Product categories CRUD with sort order
- Countries: Country list management for billing/tax
- Portfolio: Project showcase linked to products
- Languages: Multi-language system management
- Docs/Articles: Documentation/knowledge base management
- API: API key management + API v2 documentation
- Holiday Promotions: Date-range discount campaigns (% or fixed, per-product or global)
- Partners: Partner program management
- Holiday Promotions: Date-range discount campaigns
Affiliate System
- Customer application (via customer portal) or open registration mode
- Unique affiliate codes with validation (3-40 chars, no reserved words)
- Referral tracking via URL parameters (
?ref=, ?aff=) and cookie (90-day default)
- UTM parameter tracking (source, medium, campaign, content, term)
- Click tracking with IP hash, user agent hash, referrer, landing URL
- Commission structure: global percent + per-product override + fixed amount
- Commission lifecycle: pending (hold period) → approved → paid
- Automatic reversal on refunds/cancellations
- PayPal Payouts API batch processing (encrypted credentials)
- Minimum payout threshold
- Affiliate assets/ads (image banners with custom URLs)
- Referral URL generator per target (home, product, service, checkout)
- Affiliate emails: application, approval, commission, payout, reversal
- Full audit logging
API System
API v1 (Public, Read-Only, RESTful)
- Store info, products (paginated, filtered), categories, FAQs, reviews, releases, search, blog, widgets, OpenAPI spec
API v2 (JWT-Authenticated, Structured)
- Auth: login (email/password → JWT), token refresh
- Public: store info, products, categories
- Authenticated: user profile, orders, licenses, tickets, downloads
Internal API Endpoints
- Checkout tax calculation (AJAX)
- Claim purchase by order number
- Push notification subscription (FCM/OneSignal)
- Installation domain verification
- License key verification
- Stripe webhook + PayPal webhook
Theme System
- Self-contained theme directories with
theme.json manifest
- Template hierarchy: active theme → default theme → fallback layouts
- Required page templates: index, product, cart, checkout, blog, blog-post, about, portfolio, affiliate, legal pages
- Controllers handle business logic; themes handle presentation only (true separation)
- Two bundled themes:
default (production-ready) and skeleton (starter template)
- Theme customizer: real-time colors, spacing, fonts, custom CSS, generated output
- Skeleton theme downloadable as ZIP
Image Optimization
It's a server-side image resizer + converter. When your store displays an image (product thumbnails, etc.), it doesn't serve the original file directly. Instead it calls image.php?src=...&w=640&h=360&q=70&fit=cover, which:
- Resizes the image on-the-fly to exact dimensions (no 3000px images in a 200px thumbnail slot)
- Converts to WebP automatically when the server supports it (smaller files, same quality)
- Crops (
fit=cover) or fits (fit=contain) as needed
- Caches the result so the next request is instant
- Locks quality between 40-92, max size 2400px (can't abuse it)
Result: your store loads way faster — no oversized images, all WebP, cached for a year — without you manually resizing every upload.
Widget System (Embeddable)
5 JavaScript widgets for external sites:
- Product Grid (embed product listings anywhere)
- Product Card (single product embed)
- Reviews (product review display)
- FAQs (accordion FAQ widget)
- Rating Badge (star rating embed)
Push Notification System
- Providers: Firebase Cloud Messaging (FCM) and OneSignal
- Events: new order, new customer, new ticket, license activated, new affiliate
- Push subscriptions stored in database
- Notification logging
- PWA service worker integration
Newsletter / Email Subscribers
- Multiple subscription sources: widget, checkout, manual, API
- Status management: active, unsubscribed, bounced
- Per-subscriber email preferences
- Public subscribe/unsubscribe pages
- CSV export with preferences
Security Features
- CSRF protection on every form
- CAPTCHA (Cloudflare Turnstile, Google reCAPTCHA, hCaptcha)
- Bcrypt password hashing (cost 12)
- Secure session management (httponly, strict mode, 8-hour lifetime)
- Honeypot anti-spam fields
- StopForumSpam API integration
- .htaccess security headers (HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy)
- PHP execution blocked in themes directory
- Rate limiting on comments
- Admin audit logging
- Demo mode guards (prevents changes in demo accounts)
- File upload validation (MIME, extension whitelist, image validation)
- License key verification and domain locking
- Encrypted storage for sensitive credentials
Email System
- PHPMailer integration with SMTP support
- Full email template system with multi-language support
- Branded email wrapper (custom header, footer, logo, social links, signature)
- Transactional emails: order confirmation, welcome, password reset, tickets, affiliate notifications, custom admin emails
- Email logging
SEO & Discovery
- Dynamic XML sitemap with pagination and hreflang
- LLMs.txt support (AI discovery files in 3 languages)
- Full schema.org structured data (JSON-LD)
- Built-in SEO audit tool (page-level scoring for SEO, AIO, Schema)
- Image optimization proxy
- hreflang tags for international SEO
- Open Graph / Twitter Card meta tags
Progressive Web App (PWA) Settings
BulkWork Suite includes a complete PWA system that turns your store into an installable app on Android, iOS, and desktop. The entire PWA is configured through the admin panel — no coding required.
General Configuration
- Enable/Disable PWA — toggle the entire PWA on/off
- Install Banner — prompts visitors to install the app after 2 page views
- Install Tracking — records every installation event with device type, user agent, and date
Install Banner Styles (5 Options)
- Float Card — centered card floating above the navigation
- Bottom Bar — full-width bar flush to the bottom of the screen
- Top Bar — full-width bar flush to the top
- Toast — compact card in the bottom-right corner
- Modal — centered overlay modal
Each banner style has customizable text: headline, body text, install button label, and dismiss button label (or use × icon).
App Identity
- App Name (max 45 chars) — shown on install screens
- Short Name (max 12 chars) — displayed on the home screen under the icon
- Description — describes your PWA to search engines and app stores
Display & Behaviour
- Display Mode: Standalone (app-like, no browser UI), Fullscreen, Minimal UI, or regular Browser tab
- Orientation: Any, Portrait (vertical only), or Landscape (horizontal only)
- Start URL — where the PWA opens when launched
- Scope — which URLs the PWA controls
Colors
- Theme Color — browser toolbar color (color picker with hex input)
- Background Color — splash screen background while the app loads
- Categories — comma-separated (e.g. shopping, productivity) for app store classification
Icon Management
- Upload one source image (500×500+ px) and the system auto-generates all 15 sizes via GD:
- Standard 192×192, High-Res 512×512, Maskable 512×512 (Android adaptive icons)
- Apple Touch 180×180 (iPhone/iPad), Favicon 32×32
- Intermediate sizes: 70, 72, 96, 128, 144, 150, 152, 310, 310×150, 384
- Each icon can be individually overridden with a custom upload
- All icons are cached with version busting for instant updates
Screenshots
- Mobile Screenshots (3 slots, recommended 390×844px) with optional captions
- Desktop Screenshots (2 slots, recommended 1280×800px) with optional captions
- Displayed in the install prompt on supported browsers
Shortcuts
- Up to 4 shortcuts that appear on right-click or long-press the PWA icon
- Each shortcut has: Name, Short Name (max 12 chars), URL, Description, and 64×64 icon
Related Native Apps
- Prefer Related Applications toggle — browsers prompt users to install your native app instead of the PWA
- Link to apps on Google Play, Apple App Store, or Microsoft Store with Platform, App ID, and Store URL
Analytics
- Stats cards: Total Installs, This Month, This Week, Today
- Install Log — searchable table with event type, user (or guest), date, device type, and user agent
- Supports individual delete, mass delete, and clear all
Technical Details
- Language: PHP 8.x (named arguments, match expressions, enums, arrow functions, readonly properties, str_contains, str_starts_with)
- Database: MySQL 8.x with InnoDB, utf8mb4 charset
- Frontend: Bootstrap 5, Bootstrap Icons, custom CSS
- Architecture: Custom MVC with theme layer (not Laravel, not any framework)
- Routing: Apache mod_rewrite (.htaccess) for clean URLs
- Database migrations: 49+ sequential SQL migration files
- PWA: Full Progressive Web App with manifest, service worker, offline support, splash screens
- Multi-language: Custom translation system (EN, BR, ES). You can add more languages.
- Cron: Account deletion processing
- Cache: File-based cache directory
What Makes It Different
- Self-hosted: You own everything — data, code, customers, branding. No monthly fees, no platform lock-in.
- Not Laravel: Pure PHP with a lightweight custom MVC. No heavy framework dependencies. Easy to customize.
- All-in-one: Store, customer portal, admin panel, affiliate system, blog, knowledge base, ticketing, finance, API, PWA — all built-in, no plugins needed.
- Dual-purpose: Sell digital downloads AND services (custom work, setup, consulting) from the same platform.
- Affiliate-first: Full affiliate system with PayPal Payouts, UTM tracking, click tracking, and commission lifecycle management.
Whether you're selling PHP scripts, WordPress plugins, digital art, PDFs, software licenses, or offering custom development services — BulkWork Suite gives you a professional, self-hosted storefront with enterprise-grade features at a fraction of the cost of SaaS alternatives.