K2 Digital Media logoDigital Media

Based in London, Ontario

kkvasan@k2digitalmedia.ca

web-design-template

Marketplace / Directory Website Template

A two-sided marketplace and directory platform built with Next.js 14, Algolia, Mapbox, Stripe Connect, and Supabase — featuring geo-filtered search, multi-vendor payouts, vendor dashboards, drag-and-drop image uploads, and moderated reviews.

Marketplace / Directory Website Template

📌 Project Overview

The Marketplace / Directory template is a full two-sided platform built for business directories, vertical marketplaces, and listing-based communities that connect vendors with buyers or service seekers. With Algolia-powered faceted search and geo-filtering, Mapbox location-aware browsing, a Stripe Connect multi-vendor payout system, and a moderated review pipeline, this template provides everything needed to launch and operate a scalable marketplace business.

From local business directories to niche service marketplaces, this platform gives vendors the tools to showcase their listings and manage their business presence, while giving platform operators the controls to maintain quality, moderate reviews, and monetize through featured upgrades and listing fees.

🧩 Core Features

1. Algolia Faceted Search with Geo-Filtering
The Search page uses Algolia InstantSearch with facets for category, price range, rating, and location radius. A Mapbox map/list toggle gives users the choice between browsing by location or scanning a curated list — with real-time results as filters change.

2. Stripe Connect Multi-Vendor Payouts
Vendors onboard through Stripe Connect and receive payouts directly to their bank accounts when customers purchase or upgrade listings. The platform retains a configurable percentage fee on each transaction — building a sustainable revenue model.

3. Vendor Dashboard with Analytics
Each vendor has a protected dashboard showing their listing performance (views, clicks, inquiry count), listing management tools (create, edit, delete), and an upgrade-to-Featured option powered by Stripe.

4. Multi-Step Listing Submission
A multi-step submission form with Cloudinary drag-and-drop image upload allows vendors to create compelling listings with structured data, categories, and rich descriptions — all validated with React Hook Form + Zod.

5. Moderated Review System
Authenticated users can submit reviews on any listing they have not created themselves. Submitted reviews enter an admin moderation queue before going live — ensuring platform quality and preventing abuse.

6. Algolia Sync via Edge Functions
A Supabase Edge Function listens for insert, update, and delete events on the listings table and automatically syncs changes to Algolia — keeping search results accurate without manual indexing.

🧰 Tech Stack

Feature AreaTechnologyPurpose
Frontend FrameworkNext.js 14 (App Router) + TypeScriptListing pages with SSR & ISR
StylingTailwind CSSCard grid & filter sidebar layouts
SearchAlgolia InstantSearchInstant search with faceted filters
MapsMapbox GL JSGeo-filtered map view of listings
FormsReact Hook Form + ZodListing submission & validation
Image UploadsCloudinaryDrag-and-drop listing image uploads
PaymentsStripe ConnectMulti-vendor payouts with platform fee
DatabaseSupabase (PostgreSQL)Listings, categories, reviews, users
Auth & RolesSupabase Auth + RLSVendor & admin role enforcement
Search SyncSupabase Edge Functions + AlgoliaAuto-sync on listing changes
HostingVercel + Edge FunctionsFast global delivery

🗂️ Website Structure

Page / ComponentFunctionality
HomeFeatured listings, top categories, search bar, vendor sign-up CTA
SearchAlgolia faceted search with Mapbox map/list toggle view
Listing Detail [slug]Image gallery, description, reviews, contact form, Featured badge
Submit ListingMulti-step form with Cloudinary image upload and category selection
Vendor DashboardListing management, analytics, and Stripe Featured upgrade
ReviewsModerated review submission and admin approval queue
CategoriesCategory browse pages with curated listing grids

🔒 Key Technical Highlights

👉 Click Here to View Live Demo

New Project Intake

Create a QUOTE

Tell us what you need and get a tailored scope.

Share your project details and we'll respond with next steps and a clear proposal.

Create a Quote->