Skip to content

tanishq-sa/RAISEit

Repository files navigation

RAISEit - Auction Platform

RAISEit is a web application where teams compete in auction-style challenges. This platform allows:

  • Creating auctions with custom player lists, budgets, and team limits
  • Joining auctions using invitation codes
  • Real-time bidding on players
  • Tracking team progress and funds
  • Global auction timing system
  • Admin controls for auction management

Setup Instructions

1. Prerequisites

  • Node.js (v14.0 or higher)
  • npm or yarn
  • MongoDB (local installation or MongoDB Atlas account)

2. Installation

Clone the repository and install dependencies:

git clone <repository-url>
cd raiseit
npm install
# or
yarn install

3. MongoDB Configuration

Create a .env.local file in the root directory with your MongoDB connection string:

MONGODB_URI=mongodb://localhost:27017/raiseit

For production with MongoDB Atlas, use:

MONGODB_URI=mongodb+srv://<username>:<password>@cluster0.mongodb.net/raiseit?retryWrites=true&w=majority

4. Running the Application

Development mode:

npm run dev
# or
yarn dev

Production build:

npm run build
npm start
# or
yarn build
yarn start

5. Using the Application

  1. Registration/Login: Create an account or log in
  2. Create Auction: Set up an auction with players, rules, and budget
  3. Share Code: Share the generated invitation code with participants
  4. Join Auction: Participants join using the invitation code
  5. Bidding: Bid on players as they become available

Features

Core Features

  • Authentication System: Secure user accounts with JWT
  • Create Auctions: Add players with custom prices and images
  • Auction Codes: Join specific auctions with unique codes
  • Budget Management: Each auction creator can set bidder budgets
  • Team Limits: Set maximum players per team
  • Bidding History: Track all bids for transparency
  • Real-time Updates: Live bidding and auction status updates

Auction Management

  • Start Auction: Admin can start the auction when all bidders are ready
  • Global Timer: Server-side countdown for bidding on each player
  • Auto-Complete: Automatic player assignment when timer ends
  • End Auction: Admin can end auction and delete it after completion
  • Team Formation: Automatic team creation based on successful bids

Player Management

  • Player Status: Track player status (pending, sold, unsold)
  • Player Details: Store player name, base price, and image
  • Bid Tracking: Record winning bids and team assignments
  • Unsold Players: Handle unsold players appropriately

Admin Controls

  • Auction Creation: Set up auction parameters and rules
  • Player Management: Add/remove players from auction
  • Auction Control: Start, pause, and end auctions
  • Team Oversight: Monitor team formations and budgets
  • Auction Cleanup: Delete completed auctions

User Features

  • Team Dashboard: View owned players and remaining budget
  • Bid Placement: Place bids within time limit
  • Auction Joining: Join auctions via invitation code
  • Real-time Updates: See live auction status and results

MongoDB Schema

The application uses three main collections:

  1. Users: User accounts and owned players
  2. Auctions: Auction details, rules, and player lists
  3. Bids: Bid history for all auctions

Tech Stack

  • Frontend: Next.js, React, Tailwind CSS
  • Backend: Next.js API Routes
  • Database: MongoDB with Mongoose
  • Styling: Tailwind CSS
  • Authentication: Custom auth with JWT
  • Real-time Updates: Server-side events and WebSocket

Future Enhancements

  1. Enhanced Timer System

    • Pause/resume functionality
    • Visual countdown timer
  2. Advanced Team Management

    • Team statistics and analytics
    • Player performance tracking
    • Team comparison features
  3. Improved Admin Controls

    • Bulk player import
    • Advanced auction settings
    • Real-time auction monitoring
  4. User Experience

    • Mobile-responsive design
    • Dark mode support
    • Enhanced notifications
  5. Security Features

    • Rate limiting
    • Advanced authentication
    • Audit logging

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

RAISEit – A real-time auction web app where admins create auctions and teams join via code to bid on players under budget and time constraints.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors