{"id":25863821,"url":"https://github.com/rushikeshg25/bidrealm","last_synced_at":"2025-03-02T00:18:33.215Z","repository":{"id":245618677,"uuid":"818772876","full_name":"rushikeshg25/BidRealm","owner":"rushikeshg25","description":"Bidding and Auctions made Easy","archived":false,"fork":false,"pushed_at":"2025-01-20T10:47:15.000Z","size":580,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-02T00:18:31.541Z","etag":null,"topics":["nextjs","prisma","redis","turborepo","websocket"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rushikeshg25.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-22T20:26:55.000Z","updated_at":"2025-02-25T05:35:35.000Z","dependencies_parsed_at":"2024-06-23T03:00:07.823Z","dependency_job_id":"ed5012a3-54d6-4a84-80d2-eb2c8f5b33da","html_url":"https://github.com/rushikeshg25/BidRealm","commit_stats":null,"previous_names":["rushikeshg25/bidrealm-turbo","rushikeshg25/bidrealm"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rushikeshg25%2FBidRealm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rushikeshg25%2FBidRealm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rushikeshg25%2FBidRealm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rushikeshg25%2FBidRealm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rushikeshg25","download_url":"https://codeload.github.com/rushikeshg25/BidRealm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241440116,"owners_count":19963187,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nextjs","prisma","redis","turborepo","websocket"],"created_at":"2025-03-02T00:18:31.612Z","updated_at":"2025-03-02T00:18:33.194Z","avatar_url":"https://github.com/rushikeshg25.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BidRealm\n\nBidRealm is a real-time auction platform built with modern web technologies.\n\n## Architecture Overview\n\u003cimg width=\"871\" alt=\"BidRealm Arch\" src=\"https://github.com/user-attachments/assets/58554537-48f1-453a-a895-9fa07cb2c72a\"\u003e\n\n\nSystem consists of the following components:\n\n1. **Next Client**: The front-end application built with Next.js.\n2. **Express WS Server**: A WebSocket server handling real-time communication.\n3. **Postgres DB**: The primary database for storing user data, auctions, and bids.\n4. **Message Queue**: A Redis-based queue for handling email notifications.\n5. **Email Notification Worker**: A service responsible for sending email notifications.\n\n## Key Features\n\n- Real-time bidding using WebSockets\n- Auction and bid creation\n- Email notifications for auction events (winning, outbid, auction end)\n- User authentication and session management\n\n## Technologies Used\n\n- Next.js for the client-side application\n- Express.js for the WebSocket server\n- PostgreSQL and PrismaORM for data persistence\n- Redis for message queue to process Emails\n- WebSockets(ws) for real-time communication\n- Lucia for Auth\n- UploadThing for Image Upload\n- NodeMailer for Emails\n- Turborepo\n- Toast Notifications(react-hot-toast), Tailwind, zod, zustand, shadcn-ui\n\n## Getting Started\n\nFollow these steps to set up Bid Realm for local development:\n\n1. Clone the repository:\n```\ngit clone https://github.com/rushikeshg25/BidRealm-turbo.git\ncd BidRealm-turbo\n```\n3. Install dependencies:\n```\nyarn\n```\n5. Set up environment variables:\n- Copy the `.env.example` file in the `packages/db` directory and all app directories to `.env`.\n- Fill in the necessary environment variables in each `.env` file.\n\n4. Set up the database:\n```\nyarn prisma migrate dev\nyarn prisma generate\n```\n\n6. Start the development server:\n```\nyarn run dev\n```\nThe application should now be running on `http://localhost:3000` \n\n## Contributing\n\nWe welcome contributions to Bid Realm!.Please follow the getting started guide to get started. Please leave a Star ⭐\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frushikeshg25%2Fbidrealm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frushikeshg25%2Fbidrealm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frushikeshg25%2Fbidrealm/lists"}