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.
- Host: GitHub
- URL: https://github.com/kavindu-kodikara/bidsphere
- Owner: kavindu-kodikara
- License: mit
- Created: 2025-05-26T21:58:28.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-06-15T16:34:14.000Z (12 months ago)
- Last Synced: 2025-06-15T17:26:16.724Z (12 months ago)
- Topics: ejb, enterprise-java, j2ee, java, jms, mdb, payara
- Language: Java
- Homepage:
- Size: 2.56 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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.*
[](https://youtu.be/52rSvAdtjSE?si=1OrrlGGUaPhZpOsA)
> You can also view sample UI screens.


---
## 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).