Platform Engineering

W.L. Petrey Wholesale — A Full-Stack Ordering Platform

We built a production Blazor e-commerce and distribution management platform for a wholesale novelty distributor — complete storefront, Stripe checkout, route-aware order tracking, chain retailer management, and a full admin portal. All in one app.

Overview

Who Is Petrey?

W.L. Petrey Wholesale is a novelty and convenience product distributor. Route drivers visit convenience stores on a regular schedule — stocking shelves, taking orders, and building relationships. Their customers include individual stores as well as major retail chains.

They needed a platform that would let stores order independently, while giving their internal team full visibility into every order and customer.

The Challenge

Manual Ordering at Scale

Stores could only place orders by calling Petrey directly or waiting for a driver visit. There was no self-serve option, no online catalog, and no way for the Petrey team to track orders digitally in real time.

Retail chains — like Circle K — needed specific product and category configurations different from independent stores. Handling that manually wasn't scalable.

The Solution

One Platform, Two Portals

We built a full-stack Blazor application with a customer-facing storefront and a built-in admin portal. Stores browse a product catalog, add to cart, and check out via Stripe — with every order automatically tagged with route number, customer number, store name, and address.

Petrey's team manages products, employees, customers, orders, chain configurations, and email settings from the same app — no separate admin tool required.

By The Numbers

Platform Capabilities

Blazor Server
.NET 8 Stack
3-Tier
Wholesale Pricing
Chain-Aware
Retail Chain Logic
Route-Tagged
Every Order
Stripe
Online Payments
Built-In
Admin Portal
Features

What the Platform Does

Product Catalog & Storefront

Full product catalog with categories, item numbers, UPC codes, case quantities, display quantities, and multi-image support. Customers browse, filter, and shop a real wholesale catalog — not a static price sheet.

BlazorEF CoreCDN Images

Stripe Checkout & Payments

Integrated Stripe Checkout with full session tracking, payment intent IDs, and automatic order status updates. Each product carries cost, price, and retail pricing tiers — the right price is always applied at checkout.

StripeWebhooks3-Tier Pricing

Route-Aware Order Management

Every order captures the customer's route number, customer number, store name, and store address at checkout. Petrey's team can instantly see which route an order belongs to without any manual cross-referencing.

Order TrackingRoute LogicStatus Workflow

Chain Retailer Management

Retail chains (like Circle K) get their own configurable product and category visibility. Chain-specific rules control exactly what each chain's stores see in their catalog — ensuring correct assortments without manual filtering.

Chain ConfigPer-Chain CatalogMulti-Tenant

Customer Import & Management

Bulk customer import from CSV, plus full customer management with store name, address, customer number, and route number fields. Customers can also authenticate via Google, Facebook, or Microsoft OAuth.

CSV ImportOAuthASP.NET Identity

Admin Portal — Built In

Product management, employee management, order list and details, category configuration, chain configuration, customer management, and configurable email notification settings — all inside the same Blazor application.

Admin PortalRadzen UIEmail Settings
Architecture

Technology Stack

Blazor Server
.NET 8 — Storefront + Admin
SQL Server
EF Core — Products & Orders
Stripe
Checkout & Payments
Radzen Blazor
UI Components
Cloudflare R2 / S3
Product Image CDN
Brevo
Transactional Email
ASP.NET Identity
Customer Auth + OAuth
ImageSharp
Image Processing

Ready to Digitize Your Operation?

Whether you need a customer portal, an ordering system, or a full distribution platform — we scope it, build it, and ship it.