An open API service indexing awesome lists of open source software.

https://github.com/kavindu-kodikara/bidsphere

This project is a full-stack Distributed Online Auction System built using Java EE technologies such as Enterprise JavaBeans (EJB), Java Message Service (JMS), and WebSocket. It simulates a real-time bidding environment where users can place bids, configure auto-bid rules, and receive instant updates on auction activity.
https://github.com/kavindu-kodikara/bidsphere

ejb enterprise-java j2ee java jms mdb payara

Last synced: 8 months ago
JSON representation

This project is a full-stack Distributed Online Auction System built using Java EE technologies such as Enterprise JavaBeans (EJB), Java Message Service (JMS), and WebSocket. It simulates a real-time bidding environment where users can place bids, configure auto-bid rules, and receive instant updates on auction activity.

Awesome Lists containing this project

README

          

# Distributed Online Auction System BidSphere (Java EE + JMS)

## 🎯 Project Overview
This project is a **Java EE-based Distributed Online Auction System** built using **Enterprise JavaBeans (EJB)** and **Java Message Service (JMS)**. It was developed as part of my academic journey to explore enterprise application architecture, asynchronous communication, and real-time system design.

The system enables users to:
- View products
- Place manual or auto bids
- Participate in real-time bidding with automated bid updates

Backed by **Message-Driven Beans (MDB)** and **Singleton Session Beans**, this project simulates high-concurrency auction environments using **JMS Topics** for asynchronous processing and **WebSocket** for real-time updates.

---

## βš™οΈ Technologies Used
- **Java EE** (Jakarta EE)
- **Payara Server (OpenMQ embedded)**
- **Enterprise JavaBeans (EJB)**
- Stateless Session Beans
- Singleton Session Bean
- Message-Driven Beans
- **Java Messaging Service (JMS)**
- **WebSocket (for real-time updates)**
- **HTML, CSS, JavaScript (for test UI)**

---

## πŸ“¦ Modules
The application is structured as a **Java EE EAR** project with three modules:
- **Core Module** – Entity and DTO classes
- **EJB Module** – Business logic (bidding, user, product, auto-bid)
- **Web Module** – Servlet endpoints, WebSocket server, static frontend

---

## 🧠 Key Features
- **Real-time bidding system** with live updates via WebSocket
- **Auto-bidding logic**: Users can set a max bid, and the system auto-bids when outbid
- **In-memory datastore** using a Singleton EJB for products and users
- **JMS integration** for decoupled and scalable message processing
- **Concurrency-handling** tested with tools like JMeter

---

## πŸ“Έ User Interface Preview

> *Click the image below to watch the full walkthrough video.*

[![Auction System Tutorial](images/Thumbnail.png)](https://youtu.be/52rSvAdtjSE?si=1OrrlGGUaPhZpOsA)

> You can also view sample UI screens.

![Home](images/home.png)

![Bid](images/screencapture-localhost-8080-product-jsp-2025-06-15-21_51_31.png)

---

## Disclaimer

**This project is part of my professional portfolio. You’re welcome to reference it, but please credit me if you reuse or adapt any part of it.**

## License

This project is licensed under the [MIT License](LICENSE.md).