Auction Platform
E-commerce · React + Node (Express) · 19 @molecule/* packages
eBay-like bidding platform with bid system, countdown timers, and auto-extend — with built-in Stripe-backed subscription tiers
Try it
Opens instantly. Runs on sample data, so changes reset on reload.
What is inside
Screens (15)
- Landing
/ - Login
/login - Signup
/signup - ForgotPassword
/forgot-password - ResetPassword
/reset-password - BrowseAuctions
/auctions(signed in) - AuctionDetail
/auctions/:id(signed in) - MyBids
/my-bids(signed in) - SellListing
/sell/new(signed in) - Watchlist
/watchlist(signed in) - Settings
/settings(signed in) - SellerDashboard
/seller(signed in) - Notifications
/notifications(signed in) - SellerProfile
/sellers/:handle(signed in) - WonAuctionCheckout
/my-bids/won/:id/checkout(signed in)
Data model (10 tables)
- bids — id, listing_id, bidder_id, amount, created_at
- devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
- listings — id, seller_id, title, description, category, starting_price, reserve_price, buy_now_price, …
- notifications — id, user_id, type, entity_id, read_at, created_at
- payments — id, createdAt, updatedAt, userId, transactionId, productId, platformKey, data, …
- product_variants — id, productId, name, sku, price, inventory, createdAt, updatedAt
- products — id, name, slug, description, price, currency, status, imageUrl, …
- seller_reviews — id, seller_id, reviewer_id, rating, body, created_at
- watchlist — id, user_id, listing_id, created_at
- won_orders — id, listing_id, buyer_id, seller_id, amount, shipping_address, status, payment_id, …
API (13 handlers)
- \_notify
api/src/handlers/_notify.ts - \_uuid
api/src/handlers/_uuid.ts - auctions
api/src/handlers/auctions.ts - auth-reset-password
api/src/handlers/auth-reset-password.ts - bids
api/src/handlers/bids.ts - checkout
api/src/handlers/checkout.ts - listings
api/src/handlers/listings.ts - me
api/src/handlers/me.ts - my-bids
api/src/handlers/my-bids.ts - notifications
api/src/handlers/notifications.ts - seller
api/src/handlers/seller.ts - sellers
api/src/handlers/sellers.ts - watchlist
api/src/handlers/watchlist.ts
Subscription tiers
free / pro / team — gated by: maxBids, maxListings, maxWatchlist, advancedFeatures, canExport, retentionDays
Built from 19 @molecule/* packages
@molecule/api-cron-node-cron@molecule/api-database-postgresql@molecule/api-email-templates@molecule/api-emails-mailgun@molecule/api-entitlements@molecule/api-image-sharp@molecule/api-payments-stripe@molecule/api-realtime-socketio@molecule/api-resource-payment@molecule/api-resource-product@molecule/api-resource-user@molecule/api-search-meilisearch@molecule/api-uploads-s3@molecule/app-billing-react@molecule/app-data-table@molecule/app-gallery@molecule/app-kpi-card-react@molecule/app-realtime-socketio@molecule/app-virtual-scroll
Required secrets
DATABASE_URLPostgreSQL connection stringSTRIPE_SECRET_KEYStripe secret keySTRIPE_PUBLISHABLE_KEYStripe publishable keySTRIPE_WEBHOOK_SECRETStripe webhook secretMEILISEARCH_API_KEYMeiliSearch API keyS3_BUCKETS3 bucket for listing imagesAWS_ACCESS_KEY_IDAWS access keyAWS_SECRET_ACCESS_KEYAWS secret keyMAILGUN_API_KEYMailgun API keyMAILGUN_DOMAINMailgun domain
The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing