1153e8e78f99eac0a3e4d230827b005afddf3d8c
Co-authored-by: Cursor <cursoragent@cursor.com>
Dashboard
Admin, customer, and business dashboards for IranBay — one Next.js app; the Host header picks the experience.
| Host | App |
|---|---|
http://localhost:3002 (or admin.<root>) |
Superadmin |
http://customer.localhost:3002 (or customer.<root>) |
Customer account |
http://business.localhost:3002 (or business.<root>) |
Business owner |
Public site stays on the main domain (ariyaway.com → website/).
Auth model
- One shared login on the customer host (
/login). - After login, everyone lands in the customer dashboard. Superadmins and business owners open admin/business from links there.
- If the user owns a business, customer UI shows a link to the business dashboard (session handoff across subdomains).
- Visiting
business.*/loginredirects to the customer login. - Superadmin login stays on the admin host.
# 1) Meshkee API (port 3010 — website already uses 3000)
cd "../MeshkeeApp Backend"
docker compose up -d
PORT=3010 npm run start:dev
# 2) Dashboard
cd ../dashboard
cp .env.example .env.local
npm install
npm run dev
Env
| Variable | Local example | Prod example |
|---|---|---|
NEXT_PUBLIC_ROOT_DOMAIN |
localhost |
ariyaway.com |
NEXT_PUBLIC_CUSTOMER_DASHBOARD_HOST |
customer.localhost:3002 |
customer.ariyaway.com |
NEXT_PUBLIC_BUSINESS_DASHBOARD_HOST |
business.localhost:3002 |
business.ariyaway.com |
NEXT_PUBLIC_ADMIN_DASHBOARD_HOST |
localhost:3002 |
admin.ariyaway.com |
NEXT_PUBLIC_MESHKEE_API_URL |
Meshkee API base | same |
NEXT_PUBLIC_MARKETPLACE_API_URL |
http://localhost:3001/api/v1 |
marketplace API |
Modern browsers resolve *.localhost without a hosts file.
Prod: DNS customer.*, business.* (and optionally admin.*) → same dashboard deploy; TLS for those hosts.
Routes
Superadmin (localhost:3002)
| Route | Purpose |
|---|---|
/login |
Super admin login |
/ |
Admin home |
/businesses |
Marketplace listings |
Customer (customer.localhost:3002)
| Route | Purpose |
|---|---|
/login |
Shared customer + business-owner login |
/ |
Customer home |
/profile |
Account profile (read-only for now) |
Business (business.localhost:3002)
Clean URLs (rewritten to app/business/*). Login redirects to customer host.
| Route | Purpose |
|---|---|
/profile |
Meshkee business profile |
/products |
Product list |
/blog |
Blog list |
/portfolios |
Portfolio list |
/gallery |
Gallery list |
Languages
TypeScript
77.4%
CSS
22.5%