A comprehensive sports club management system built with Next.js, featuring tournament management, player registration, image galleries, and admin controls.
pnpm install
pnpm run devpnpm run build
pnpm start- Landing Page: Responsive design with dynamic content sections
- Tournament Management: Create and manage cricket tournaments
- Player Registration: Universal registration system for players
- Image Gallery: Upload and manage tournament photos via Google Drive
- Admin Panel: Complete admin interface for content management
- Real-time Updates: Dynamic content loading with caching
- Dark/Light Mode: Full theme support using shadcn/ui
- Frontend: Next.js 14, TypeScript, Tailwind CSS, shadcn/ui
- Backend: Next.js API Routes, Prisma ORM
- Database: MySQL (SQLite for development)
- Authentication: NextAuth.js with role-based access
- Email: Nodemailer with SMTP
- Storage: Google Drive API integration
- UI Components: shadcn/ui (no custom colors, full theme compliance)
- Touch-friendly interactions
- Responsive image galleries
- Mobile-first design
- PWA support with service worker
- Optimized loading and caching
- Colors: Only shadcn/ui color variables (no custom colors)
- CSS: Single
globals.cssfile - Components: Consistent shadcn/ui components
- Themes: Perfect dark/light mode support
- Production: https://tundasportsclub.com
- Admin Panel: https://tundasportsclub.com/admin
- Node.js 18+
- pnpm (recommended) or npm
- MySQL 8.0+ (or SQLite for development)
- Git
# Clone repository
git clone https://github.com/Recentlystarted/tunda-suports-club.git
cd tunda-suports-club
# Install dependencies
pnpm install
# Environment setup
cp .env.example .env
# Edit .env with your configuration
# Database setup
pnpm prisma generate
pnpm prisma migrate dev
# Start development server
pnpm devVisit http://localhost:3000 to see the application.
This project includes a complete deployment solution for OpenLiteSpeed servers:
-
Use the deployment script:
.\deploy-to-openlitespeed.ps1 -Mode full
-
Follow the VPS setup guide: See
VPS_SETUP_GUIDE.mdfor detailed instructions
Create .env file with production values:
DATABASE_URL="mysql://username:password@localhost:3306/tunda_sports_club"
NEXTAUTH_SECRET="your-production-secret-key"
NEXTAUTH_URL="https://yourdomain.com"
SMTP_HOST="smtp.gmail.com"
SMTP_PORT=587
SMTP_USER="your-email@gmail.com"
SMTP_PASS="your-app-password"
EMAIL_FROM="your-email@gmail.com"tunda-sports-club/
โโโ app/ # Next.js App Router
โ โโโ admin/ # Admin dashboard
โ โ โโโ auction-live/ # Live auction management
โ โ โโโ tournaments/ # Tournament management
โ โ โโโ players/ # Player management
โ โโโ auction/ # Auction portals
โ โ โโโ [tournamentId]/
โ โ โโโ admin/ # Admin auction interface
โ โ โโโ owner/ # Team owner interface
โ โโโ api/ # API routes
โ โ โโโ tournaments/ # Tournament APIs
โ โ โโโ auth/ # Authentication APIs
โ โโโ tournament/ # Public tournament pages
โโโ components/ # React components
โ โโโ ui/ # shadcn/ui components
โ โโโ registration/ # Auction components
โโโ prisma/ # Database schema & migrations
โโโ lib/ # Utility functions
โโโ public/ # Static assets
- Access:
/admin - Create and manage tournaments
- Conduct live auctions with real-time controls
- Monitor all system activities
- Access:
/auction/[tournamentId]/owner?token=SECURE_TOKEN - Register team and get admin verification
- Participate in real-time bidding
- Manage team composition
- Complete registration with detailed profiles
- Join tournaments and track auction status
- View team assignments
GET /api/tournaments/[id]/auction/live # Live auction data
POST /api/tournaments/[id]/auction/live # Manage auction
GET /api/tournaments/[id]/auction/bid # Bidding status
POST /api/tournaments/[id]/auction/bid # Place bidsGET /api/tournaments # List tournaments
POST /api/tournaments # Create tournament
GET /api/tournaments/[id] # Tournament details- Live bidding with 3-second auto-refresh
- Fixed database relationships for proper team assignment
- Enhanced UI/UX for admin and owner portals
- Live budget tracking and team composition updates
- Fixed dynamic server usage errors
- Optimized API routes for production
- Clean build process with no compilation errors
- Improved image handling
- Fork the repository
- Create feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open Pull Request
MIT License - see LICENSE file for details.
- Issues: GitHub Issues
- Documentation: VPS Setup Guide
- Live Demo: https://tundasportsclub.com
- Next.js - React framework
- Prisma - Database ORM
- shadcn/ui - UI components
- Tailwind CSS - CSS framework
Made with โค๏ธ for the cricket community in Tunda Village, Gujarat
๐ Ready for Live Cricket Auctions! โก