A modern, real-time auction platform for buying and selling items online.
- ⚡ Real-time Bidding - Live auction updates via WebSocket (sub-second latency)
- 🔐 Secure Authentication - JWT-based auth with password hashing
- 💳 Wallet System - Built-in balance and transaction management
- 📸 Image Management - AWS S3 integration for product images
- 📊 Admin Dashboard - Complete auction and user management
- 🔄 Background Jobs - BullMQ for asynchronous processing
- 📱 Responsive Design - Mobile-first UI with TailwindCSS
- 🏷️ Category System - Organize auctions by categories
- 🎯 Auction Lifecycle - Complete state management (pending → active → ended)
- 🔔 Real-time Notifications - Instant updates for bids and auction changes
Backend:
- NestJS - Progressive Node.js framework
- PostgreSQL - Relational database
- Prisma - ORM
- Socket.io - Real-time communication
- Redis - Caching & pub/sub
- BullMQ - Job queue
- AWS S3 - Cloud storage
Frontend:
- Next.js - React framework
- React 19 - UI library
- TailwindCSS - Styling
- TanStack Query - Server state management
- Socket.io Client - Real-time updates
DevOps:
- Node.js >= 18
- PostgreSQL >= 14
- Redis
- Docker (optional)
# Clone repository
git clone <repository-url>
cd auction-hub
# Install dependencies
npm install
# Setup environment
cp apps/api/.env.example apps/api/.env
cp apps/web/.env.example apps/web/.env.local
# Setup database
npm run db:generate
npm run db:migrate
# Start development servers
npm run devAccess:
- Frontend: http://localhost:3000
- API: http://localhost:4000
# Start all services
npm run dev
# Start specific service
npm run dev --filter=api
npm run dev --filter=web
# Build all
npm run build
# Run linting
npm run lint
# Database
npm run db:generate
npm run db:migrate
npm run db:studioauction-hub/
├── apps/
│ ├── api/ # NestJS backend
│ ├── web/ # Next.js frontend
│ └── worker/ # Background job service
├── packages/
│ ├── db/ # Database & Prisma schema
│ └── shared/ # Shared types & utilities
├── infra/ # Docker compose files
└── docker-compose.prod.yml
Contributions are welcome! Please follow these steps:
- Fork the repo
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
UNLICENSED - All rights reserved
For questions or support, reach out via GitHub issues or visit the live demo

