https://github.com/rushikeshg25/BidRealm
Bidding and Auctions made Easy
https://github.com/rushikeshg25/BidRealm
nextjs prisma redis turborepo websocket
Last synced: 9 months ago
JSON representation
Bidding and Auctions made Easy
- Host: GitHub
- URL: https://github.com/rushikeshg25/BidRealm
- Owner: rushikeshg25
- Created: 2024-06-22T20:26:55.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2025-03-02T05:41:13.000Z (over 1 year ago)
- Last Synced: 2025-06-08T17:01:55.669Z (about 1 year ago)
- Topics: nextjs, prisma, redis, turborepo, websocket
- Language: TypeScript
- Homepage:
- Size: 578 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BidRealm
BidRealm is a real-time auction platform built with modern web technologies.
https://github.com/user-attachments/assets/7d8cb7e4-a924-4222-9042-cbdb16295aae
## Architecture Overview

System consists of the following components:
1. **Next Client**: The front-end application built with Next.js.
2. **Express WS Server**: A WebSocket server handling real-time communication.
3. **Postgres DB**: The primary database for storing user data, auctions, and bids.
4. **Message Queue**: A Redis-based queue for handling email notifications.
5. **Email Notification Worker**: A service responsible for sending email notifications.
## Key Features
- Real-time bidding using WebSockets
- Auction and bid creation
- Email notifications for auction events (winning, outbid, auction end)
- User authentication and session management
## Technologies Used
- 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
## Getting Started
Follow these steps to set up Bid Realm for local development:
1. Clone the repository:
```
git clone https://github.com/rushikeshg25/BidRealm-turbo.git
cd BidRealm-turbo
```
3. Install dependencies:
```
yarn
```
5. Set up environment variables:
- Copy the `.env.example` file in the `packages/db` directory and all app directories to `.env`.
- Fill in the necessary environment variables in each `.env` file.
4. Set up the database:
```
yarn prisma migrate dev
yarn prisma generate
```
6. Start the development server:
```
yarn run dev
```
The application should now be running on `http://localhost:3000`
## Contributing
We welcome contributions to Bid Realm!.Please follow the getting started guide to get started. Please leave a Star ⭐