Skip to content

kwkuh/domain-marketplace

Repository files navigation

🌐 DomainMarket

Open-source, self-hosted domain marketplace. For investors, brokers, and registrars who want to own their sales channel.

CI License: MIT PHP Laravel Filament Made with Tailwind Stars

Demo · Features · Quick start · Roadmap · Contributing


✨ Why DomainMarket?

The big domain marketplaces — Dan, Sedo, Afternic — take a 10–25% commission on every sale, lock you into their checkout, and own the buyer relationship.

DomainMarket flips that. Run it on a $5 VPS, list your portfolio under your own brand, and keep 100% of every sale.

  • 🪙 No commission. It's your server.
  • 🔐 No vendor lock-in. Export anytime. SQLite or MySQL. Your data.
  • 🚀 SEO-first. Server-rendered Blade, JSON-LD Product schema, sitemap-ready.
  • 🧠 No AI required. Related-domain engine works on tags + TLD + category similarity. Cheap to run.
  • 🌍 No paid APIs. RDAP-first for WHOIS lookups. Free, modern, standards-compliant.
  • 🎨 Admin panel out of the box. Filament v4 handles every CRUD action.

Not a SaaS. Not a "lite" version. The full thing, MIT-licensed.


📸 Demo

Demo coming soon. For now, run it locally in 60 seconds — see Quick start.

Public storefront Domain landing page Admin (Filament)
Screenshot pending Screenshot pending Screenshot pending

🎯 Features

Public storefront

  • Homepage with featured / latest / categories
  • Per-domain landing page with make-offer form + JSON-LD Product schema
  • Search with filters: keyword, TLD, category, price range, sort (price ↑/↓, popular, newest)
  • Seller portfolio pages (/seller/{username})
  • Category browse pages (/category/{slug})
  • Related-domains engine (no AI: category + TLD + tag similarity)
  • SEO baked in: OpenGraph, canonical URLs, schema.org markup

Seller / admin

  • Filament-powered admin panel at /admin
  • Domain CRUD with category, tags, sale type (BIN / make-offer), description
  • Inquiry inbox (offers with status: pending / accepted / rejected / countered)
  • Category & tag management
  • Multi-seller ready (every domain belongs to a User)

Built-in but optional

  • Domain verification (TXT record / nameserver) — V2
  • Static landing page export — V2
  • Auction mode — V3
  • Commission system for multi-vendor SaaS mode — V3

🧱 Stack

Layer Tech
Backend Laravel 12 (PHP 8.2+)
Frontend Blade + Livewire + Alpine.js
Admin Filament v4
Styling Tailwind CSS 4
Database SQLite (default) · MySQL / MariaDB (recommended for prod) · PostgreSQL
Queue Database / Redis (optional)
Build Vite

Designed to run on a single $5 VPS. No vendor lock-in, no required SaaS.


🚀 Quick start

# 1. Clone
git clone https://github.com/kwkuh/domain-marketplace.git
cd domain-marketplace

# 2. Install deps
composer install
npm install

# 3. Env + key
cp .env.example .env
php artisan key:generate

# 4. Database (SQLite by default — file already created)
php artisan migrate --seed

# 5. Build assets
npm run build

# 6. Serve
php artisan serve

Open http://127.0.0.1:8000 for the storefront and http://127.0.0.1:8000/admin for the dashboard.

Default admin login: admin@example.com / password (change immediately after install).

Docker (coming soon)

docker compose up -d  # planned for v0.2

🗂️ Project structure

app/
├── Models/                  # Domain, Category, Tag, Offer, User
├── Http/Controllers/        # Home, Domain, Search, Seller, Category, Offer
├── Filament/Resources/      # Admin CRUD (auto-generated)
└── Services/                # WhoisService, DomainService (planned)

resources/views/
├── layouts/app.blade.php    # Master layout
├── components/              # x-domain-card
├── home.blade.php           # /
├── domain.blade.php         # /domain/{name}
├── search.blade.php         # /search
├── seller.blade.php         # /seller/{username}
└── category.blade.php       # /category/{slug}

database/
├── migrations/              # 7 tables: users+, categories, tags, domains,
│                            #   domain_tag, offers, favorites
└── seeders/DatabaseSeeder.php  # 1 admin, 8 categories, 7 tags, 10 sample domains

🗺️ Roadmap

v0.1 — MVP (current)

  • Domain CRUD + public landing pages
  • Search & filters (keyword, TLD, category, price, sort)
  • Make-offer form + offer inbox
  • Admin panel (Filament)
  • Categories + tags
  • Related domains (similarity-based, no AI)
  • SEO basics (OG, JSON-LD, canonical)

v0.2

  • Public seller registration + auth
  • WHOIS / RDAP sync job (port-43 fallback) + expiry alerts
  • Watchlist / favorites UI
  • Sitemap.xml + RSS feed
  • Bulk CSV import / export
  • Docker Compose

v0.3

  • Domain ownership verification (TXT / NS)
  • Static landing page export (GitHub Pages / Netlify / CF Pages)
  • Analytics dashboard (views, inquiries, conversion)
  • Webhook system (new offer, new inquiry)

v1.0

  • Auction mode (timer, bid history)
  • Multi-vendor / SaaS mode + commission system
  • REST API + Sanctum tokens
  • Theme system

🤝 Contributing

Pull requests welcome. See CONTRIBUTING.md for the ground rules.

For bugs and feature requests, please open an issue.

🔒 Security

Found a vulnerability? Don't open a public issue — see SECURITY.md.

📜 License

MIT © Kukuh

Free to use, modify, and self-host. Attribution appreciated but not required.


Built by domainers, for domainers. If this saved you a Dan.com commission, ⭐ star the repo.

About

🌐 Open-source self-hosted domain marketplace. Laravel 12 + Filament v4. No commission, no AI required, no paid APIs. MIT.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages