
Project / 07
AIC Shop
A role-based marketplace for construction materials that connects customers, vendors, and admins through catalog search, cart checkout, vendor wallets, quote negotiation, realtime messaging, reviews, and AI-assisted shopping.
Role
Full-stack Developer
Timeline
Full-stack marketplace build
Status
Beta
Product Screens
Real
interface
Actual product screens, synced to scroll so each interface gets its own moment.
1/5
Marketplace homepage
2/5
Category browsing
3/5
Cart and checkout
4/5
Payment flow
5/5
AI shopping assistant





Overview
What this project is
AIC Shop is a construction materials marketplace built with a Next.js client and a NestJS backend. The platform supports user shopping, vendor onboarding, product management, quote requests, shopping cart, checkout, PayOS payment links, vendor wallet deposits, withdrawal requests, admin dashboards, order operations, reviews, realtime chat, and an AI assistant that can search products, inspect carts, track orders, and guide ordering flows.
Target users
Customers buying construction materials, vendors managing products and orders, and admins operating marketplace users, products, orders, transactions, withdrawals, and analytics.
Goal
Build a practical marketplace where construction-material customers can discover products, request quotes, place orders, chat with vendors, and receive AI shopping support while vendors manage products, orders, wallets, reviews, and payouts.
Key Features
Main things it can do
Customer shopping
- Browse construction-material categories and product listings
- Search products and inspect product detail by slug or ID
- Add items to cart, checkout from cart, manage addresses, and view order history
- Create quote requests for vendor-priced products
- Review delivered products with images and inspect rating statistics
Vendor workspace
- Register as a vendor and track application status
- Manage vendor profile and product catalog with thumbnails, galleries, options, variants, specs, badges, stock, and pricing
- View vendor orders, update allowed order statuses, and inspect order details
- Respond to quote requests with custom price, notes, and validity date
- Reply to reviews and monitor vendor review overview
Wallet and payments
- Create PayOS payment links for order payments and vendor wallet deposits
- Handle PayOS webhook updates for payment success or failure
- Track vendor balance, available balance, deposits, withdrawals, and fee totals
- Allow vendors to request withdrawals and admins to approve, reject, or mark withdrawals as paid
Admin operations
- View dashboard statistics, revenue reports, product analytics, and user analytics
- Manage users, roles, bans, products, stock, orders, transactions, and withdrawal requests
- Confirm orders, complete orders, update payment status, and inspect transaction details
- Review vendor applications and manage marketplace status transitions
Realtime and AI
- User-vendor realtime chat with Socket.IO rooms and unread counts
- JWT-protected WebSocket events for joining conversations, sending messages, typing, and marking messages as read
- AI assistant that can search products, get cart, track orders, inspect categories, and guide an order confirmation flow
Technologies Used
Stack by layer
Frontend
Next.js 15React 19TSTypeScriptTailwind CSS 4Radix UILucide ReactMotion
State and API
Redux ToolkitRTK QueryReact Hook FormYupZodSecure storage serviceRefresh token baseQuery
Backend
NestJS 11TSTypeScriptTypeORMPostgreSQLSwaggerclass-validatorPassport JWTGoogle OAuth
Commerce
PayOSVendor walletOrder lifecycleQuote requestsProduct variantsCloudinary uploads
Realtime and AI
Socket.IONestJS WebSocketsGoogle GeminiOpenRouterAI intent routingAI order flow
Delivery
DockerDocker ComposeHuskyCommitlintESLintPostman/Swagger docs