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
- Node.js (v14.0 or higher)
- npm or yarn
- MongoDB (local installation or MongoDB Atlas account)
Clone the repository and install dependencies:
git clone <repository-url>
cd raiseit
npm install
# or
yarn installCreate 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
Development mode:
npm run dev
# or
yarn devProduction build:
npm run build
npm start
# or
yarn build
yarn start- Registration/Login: Create an account or log in
- Create Auction: Set up an auction with players, rules, and budget
- Share Code: Share the generated invitation code with participants
- Join Auction: Participants join using the invitation code
- Bidding: Bid on players as they become available
- 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
- 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 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
- 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
- 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
The application uses three main collections:
- Users: User accounts and owned players
- Auctions: Auction details, rules, and player lists
- Bids: Bid history for all auctions
- 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
-
Enhanced Timer System
- Pause/resume functionality
- Visual countdown timer
-
Advanced Team Management
- Team statistics and analytics
- Player performance tracking
- Team comparison features
-
Improved Admin Controls
- Bulk player import
- Advanced auction settings
- Real-time auction monitoring
-
User Experience
- Mobile-responsive design
- Dark mode support
- Enhanced notifications
-
Security Features
- Rate limiting
- Advanced authentication
- Audit logging
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.