BidRealm is a real-time auction platform built with modern web technologies.
System consists of the following components:
- Next Client: The front-end application built with Next.js.
- Express WS Server: A WebSocket server handling real-time communication.
- Postgres DB: The primary database for storing user data, auctions, and bids.
- Message Queue: A Redis-based queue for handling email notifications.
- Email Notification Worker: A service responsible for sending email notifications.
- Real-time bidding using WebSockets
- Auction and bid creation
- Email notifications for auction events (winning, outbid, auction end)
- User authentication and session management
- Next.js for the client-side application
- Express.js for the WebSocket server
- PostgreSQL and PrismaORM for data persistence
- Redis for message queue to process Emails
- WebSockets(ws) for real-time communication
- Lucia for Auth
- UploadThing for Image Upload
- NodeMailer for Emails
- Turborepo
- Toast Notifications(react-hot-toast), Tailwind, zod, zustand, shadcn-ui
Follow these steps to set up Bid Realm for local development:
- Clone the repository:
git clone https://github.com/rushikeshg25/BidRealm-turbo.git
cd BidRealm-turbo
- Install dependencies:
yarn
- Set up environment variables:
- Copy the
.env.example
file in thepackages/db
directory and all app directories to.env
. - Fill in the necessary environment variables in each
.env
file.
- Set up the database:
yarn prisma migrate dev
yarn prisma generate
- Start the development server:
yarn run dev
The application should now be running on http://localhost:3000
We welcome contributions to Bid Realm!.Please follow the getting started guide to get started. Please leave a Star ⭐