Building a Bilingual Car Marketplace With Seller, Dealer, and Admin Workflows
The Oman Car Marketplace was developed as more than a listings website: it coordinates public discovery, private sellers, verified dealers, inspections, moderation, and account security through one full-stack foundation.

- Frontend
- Next.js and TypeScript
- Backend
- NestJS REST API
- Database
- PostgreSQL and Prisma
- Core roles
- Seller, dealer, admin
A marketplace architecture built around distinct operating roles
Automotive marketplaces have two products running at once: a public discovery experience and an operating system for the people creating, approving, promoting, and inspecting listings. The repository reflects that wider scope through public vehicle pages, seller and dealer dashboards, administrative moderation, inspection requests, saved listings, and contact workflows.
The system separates the Next.js frontend from a NestJS API and PostgreSQL persistence layer. That boundary makes listing rules, account security, and moderation states backend responsibilities rather than assumptions embedded only in interface code.
Coordinating marketplace trust without collapsing every role into one workflow
Private sellers, dealers, buyers, inspectors, and administrators need different permissions and information. The platform also needs search and discovery to remain simple while verification, listing approval, featured placement, and account recovery operate behind it.
Support public search, filtering, vehicle detail, and seller contact journeys.
Give sellers and dealers separate dashboard responsibilities.
Model listing approval, inspection, and featured-placement states explicitly.
Serve English and Arabic routes with correct RTL behavior and page preservation.
Engineering choices that shaped the system
The build treats identity, listing lifecycle, and localization as platform concerns. This prevents important rules from depending on a single screen or browser state.
Separate frontend, API, and persistence
Next.js handles the customer and dashboard experiences, NestJS owns application rules, and Prisma maps those rules into PostgreSQL.
Clear service boundariesModel the listing lifecycle
Listing, inspection, user, payment, and contact statuses are represented in the schema so moderation and workflow transitions remain explicit.
State belongs in the domain modelBuild account verification into authentication
Registration includes email verification, blocked login for unverified accounts, refresh tokens, and password-reset delivery through configurable SMTP.
Trust starts at account creationTreat Arabic as a first-class route system
English and Arabic routes preserve the current page and query string, render the correct language direction, and use Oman-aware number formatting.
Localization is architecture
A marketplace flow from discovery to governed publishing
The platform connects customer discovery with the operational controls required to keep listings trustworthy.
Discover
Search, filter, compare, and inspect vehicle details.
Publish
Create and manage listings through seller or dealer workflows.
Verify
Handle accounts, dealer identity, inspections, and listing review.
Operate
Moderate records, feature inventory, and monitor marketplace activity.
A production-shaped marketplace MVP
- Responsive Next.js marketplace
- NestJS REST API
- Prisma marketplace schema
- Seller, dealer, and admin dashboards
- Email verification and password recovery
- English and Arabic route architecture
A full-stack foundation covering public and operational marketplace work
The repository contains the frontend journeys, backend API surface, persistent domain model, authentication flows, and role-specific dashboards needed to validate an Oman-focused automotive marketplace.
Public discovery and listing-detail journeys
Explicit moderation and inspection workflows
A bilingual architecture spanning routes and interface direction
What development teams can reuse from this work
- Marketplace development must model operational trust as carefully as public discovery.
- Role boundaries are easier to secure when they are expressed in backend services and schema states.
- Email verification and recovery belong in the first usable platform foundation.
- RTL delivery works best when localization is built into routing rather than applied as a final visual layer.
About the project and its evidence
Is this only a frontend marketplace concept?
No. The repository contains a Next.js frontend, NestJS REST API, Prisma schema, PostgreSQL setup, authentication flows, and role-specific dashboard functionality.
Is the marketplace operating with live sellers?
The available repository documents an MVP with Oman-focused sample listings. This page does not claim live marketplace activity or sales.
What would be needed before a public launch?
Production launch work would include infrastructure hardening, media storage, SMTP credentials, monitoring, moderation operations, privacy review, backups, and end-to-end acceptance testing.
Build a marketplace around roles, trust, and operational reality.
Waka connects product thinking, interface design, development, and launch support in one delivery flow.