Back to projects
Live Store

US Rare Currency Collector Portal

Numismatic E-Commerce with Rarity Grading Catalog

PHPMySQLE-CommercePayment IntegrationLaravelREST API
Catalog Items
3K+listings
High-Res Images
8K+assets
Checkout Conversion
+18%
Payment Success
99.7%

Specialized numismatic e-commerce store for rare currency collectors featuring searchable high-resolution bill catalogs, secure transactions, and inventory synchronization. Built to handle one-of-a-kind inventory where a single sale must never be double-fulfilled.

Architecture & System Design

The store separates catalog browsing, image delivery, and checkout into independently optimized layers. Rare, non-restockable items are protected with reservation locks the moment they enter a cart, and a faceted search index drives fast attribute-based discovery.

Request Flow
Catalog Browse
Faceted Search / Filter Engine
Product Detail (High-Res Zoom)
Cart Reservation Lock
Secure Checkout
Payment Gateway
Order Fulfillment
  • Image pipeline generating zoomable, lazy-loaded high-res scans via on-the-fly thumbnailing
  • Faceted search across grade, year, mint mark, and condition attributes
  • Timed cart-reservation locks preventing overselling of unique, one-of-a-kind items
  • PCI-compliant checkout flow with tokenized payment handling

Engineering Challenges

Preventing Overselling Unique Inventory

Problem

Many items are one-of-a-kind; two customers adding the same bill to their cart could both attempt checkout.

Solution

Built a pessimistic-locking cart reservation service that decrements stock and creates a timed hold the instant an item enters a cart, auto-releasing on expiry.

Result

Zero double-sell incidents recorded on rare, non-restockable items.

High-Resolution Image Performance

Problem

Collectors need to zoom into fine bill details, but serving full-resolution scans on every page load hurt load times.

Solution

Implemented a lazy-loaded, zoomable image viewer backed by on-the-fly thumbnail generation and responsive image sets.

Result

Page load time cut by roughly 40% on catalog and product pages.

Search Relevance Across Attributes

Problem

Collectors search by combinations of grade, mint, year, and condition, which a simple keyword search couldn't satisfy accurately.

Solution

Built an indexed faceted search over normalized attribute tables with combinable filters and relevance ranking.

Result

Search response times held under 100ms even across the full 3K+ item catalog.

Core Features

Rarity Grading Catalog

Structured attribute catalog with grade, mint, year, and condition metadata for precise discovery.

Clean Code

CartReservationService — Lock-Safe Unique Inventory
1<?php
2
3namespace App\Services;
4
5use App\Models\Product;
6use Illuminate\Support\Facades\DB;
7
8class CartReservationService
9{
10 public function reserve(Product $product, int $userId): void
11 {
12 DB::transaction(function () use ($product, $userId) {
13 $locked = Product::where('id', $product->id)
14 ->where('quantity', '>', 0)
15 ->lockForUpdate()
16 ->firstOrFail();
17
18 $locked->decrement('quantity');
19
20 $locked->reservations()->create([
21 'user_id' => $userId,
22 'expires_at' => now()->addMinutes(15),
23 ]);
24 });
25 }
26}