A modern, full-stack auction platform for buying, selling, and bidding in real-time
Features • Demo • Tech Stack
- JWT-based authentication with role-based access control (Admin, Seller / Buyer, Guest)
- HTTPS/TLS encryption for all communications
- Session management with token expiration
- Create auctions with multiple images, descriptions, and categories
- Set starting bids and optional buy-now prices
- Real-time bid tracking
- Automatic auction lifecycle management (pending → active → completed)
- Smart keyword search across items and categories
- Multi-criteria filtering (price range, location, category)
- Sort by popularity, bids, price, seller rating, and more
- Hierarchical category browsing with taxonomy tree
- Machine learning-driven item suggestions
- Personalized based on browsing history and bidding activity
- Collaborative filtering for "users like you" recommendations
- Direct buyer ↔ seller communication
- Inbox/outbox with read/unread status
- Message history
- Interactive map integration (OpenStreetMap/Leaflet)
- Location-based filtering and display
- User approval workflow for new registrations
- Export auctions in JSON/XML formats
- User management and moderation tools
- ⚛️ React with TypeScript
- 🎨 TailwindCSS for styling
- ☕ Java 21 with Spring Boot 3
- 🗄️ MySQL with JPA/Hibernate
- 🔒 Spring Security for authentication & authorization
- 🌐 RESTful API architecture
- 🤖 ML integration for recommendations
- 🎯 TypeScript for type safety
- 🚀 Vite for fast development builds
- 📦 Maven for dependency management
- 🔧 ESLint for code quality
MegaBid/
├── client/ # React frontend
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Page components
│ │ ├── utils/ # Helper functions
│ │ ├── assets/ # Images and static files
| | └── *.tsx # Simple UI pages
│ └── package.json
│
├── server/ # Spring Boot backend
│ ├── src/main/java/
│ │ └── com/megabid/server/
│ │ ├── config/ # Security & app configuration
│ │ ├── users/ # User management
│ │ ├── items/ # Auction items
│ │ ├── bids/ # Bidding system
| | ...
│ │ └── messages/ # Messaging system
│ └── pom.xml
│
├── database/
│ └── megabid.sql # SQL schema
│
├── docs/ # Documentation & screenshots
│
└── useful/ # Utility scripts
| Role | Permissions |
|---|---|
| Guest | Browse auctions, view items |
| Buyer / Seller | Place bids, buy items, send messages, create auctions, manage listings |
| Admin | Approve users, export data, moderate content |
The platform uses collaborative filtering to suggest items based on:
- User browsing history (tracked via
visitedtable) - Bidding patterns
- Similar user preferences
- Item popularity metrics
- ✅ HTTPS/TLS encryption
- ✅ JWT token-based authentication
- ✅ SQL injection prevention (JPA/Hibernate)
- ✅ XSS protection
- ✅ Role-based API endpoints
- ✅ Session timeout management


