Daniyal's Auction E-Commerce Website

A full-stack auction website developed using Java, JSP, Servlets, JDBC, SQLite, and WebSockets.

Features:

  • Forward and Dutch auctions
  • Real-time bidding using WebSockets
  • User authentication and session management
  • Bid history and auction tracking
  • Auction completion and winner determination

Tech Stack:

  • Java
  • JSP / JSTL
  • Java Servlets
  • JDBC / SQLite
  • WebSockets
  • HTML / CSS / JavaScript
  • Apache Tomcat 9
  • Maven

Design Process:

The auction platform follows an object-oriented architecture designed for modularity, scalability, and maintainability. It incorporates the Mediator Design Pattern to coordinate bidding operations and auction lifecycles, and the Proxy Design Pattern to manage user authentication and registration. An abstract Auction class uses inheritance and polymorphism to support both traditional and Dutch-style auctions, while Java Servlets handle HTTP requests and backend operations. WebSockets enable real-time communication between users and the system, providing live bidding updates and notifications. This architecture promotes separation of concerns, code reusability, and easier integration of new features.