Overview
Auction Master is a multi-role web application built from scratch that simulates a real auction marketplace. Three distinct user types — Admin, Customer Representative (CR), and Buyer — each get a separate dashboard and permission set. Buyers browse live auctions, place bids, track their current positions, and manage order history. CRs create and post new auctions with photo uploads and product attributes. Admins oversee everything via audit logs and sales reports.
Architecture & Approach
The backend is a Node.js/Express REST API backed by a relational MySQL database with tables for accounts, auctions, products, sub-categories, bids, and user preferences. Firebase handles password reset flow. Multer manages both auction-image and profile-photo uploads to disk. When a new auction is posted, the backend queries the preferences table for users whose saved category and price range match the listing, then fires individual HTML emails via Nodemailer. Bid placement enforces minimum-increment constraints and resolves against a reserve price at auction close. The frontend is a Vanilla JS multi-page application (20+ HTML/CSS/JS files) with a shared header component and a dark/light theme toggle.
Results & Outcome
Delivered a fully functional auction platform covering the complete lifecycle: account creation → preference setup → auction posting → live bidding → win/loss resolution → order history. The preference-notification system correctly filters and emails matched users on every new listing. Three separate role flows (admin, CR, buyer) all operate from distinct dashboards.