AuctionHub is a high-performance, real-time auction platform built with a robust Spring Boot backend and a sleek, modern React frontend. It features live bidding through WebSockets, advanced search capabilities with Elasticsearch, and a personalized user experience with watchlists and analytics.
- Real-time Bidding: Instant bid updates and auction status changes powered by WebSockets.
- Advanced Search: High-speed filtering and searching using Elasticsearch.
- Modern UI/UX: Premium "Cyber Emerald" aesthetic with responsive design using Material UI.
- User Personas: Distinct workflows for Buyers and Sellers.
- Personalized Experience: Watchlists, bid history tracking, and seller analytics.
- Secure Authentication: JWT-based security with role-based access control.
- File Management: Integrated image upload system for auction items.
- Framework: Spring Boot 3.5.4 (Java 17)
- Database: MongoDB (NoSQL)
- Search Engine: Elasticsearch
- Security: Spring Security & JWT
- Communication: WebSockets (STOMP)
- Email: Spring Mail with Thymeleaf templates
- Library: React 18 with TypeScript
- Bundler: Vite
- Styling: Material UI (MUI) & Custom CSS
- State Management: React Context API
- API Client: Axios
- JDK 17+
- Node.js 16+
- MongoDB & Elasticsearch instances
- Clone the repository.
- Navigate to the root directory.
- Create a
.envfile based on.env.example. - Run the application:
./mvnw spring-boot:run
- Navigate to the
frontenddirectory. - Install dependencies:
npm install
- Start the development server:
npm run dev
src/main/java: Backend source code (Controllers, Services, Repositories).frontend/src: Frontend source code (Components, Pages, Services).Dockerfile: Containerization configuration for deployment..env.example: Template for environment variables.
This project is open-source and available under the MIT License.