SportsFiesta is a comprehensive web application for managing corporate sports tournaments and events. It provides a platform for organizing events, managing team registrations, scoring, and real-time leaderboards.
-
User Authentication & Authorization
- Multiple user roles (Admin, Judge, Participant)
- Secure JWT-based authentication
- Role-based access control
-
Event Management
- Create and manage sports events
- Categorize events (Indoor, Outdoor, Fun)
- Set event capacity and registration limits
- Rich event details with images and descriptions
-
Team Registration
- Easy team registration process
- Real-time registration status
- Team management dashboard
-
Scoring System
- Real-time score submission
- Judge-specific scoring interface
- Automated leaderboard updates
-
Live Leaderboards
- Real-time leaderboard updates using Socket.io
- Beautiful data visualization with charts
- Event-specific rankings
-
AI-Powered Event Suggestions
- Gemini AI integration for event ideas
- Smart event recommendations
- Automated event detail generation
- React.js
- Tailwind CSS
- Framer Motion
- Socket.io Client
- Chart.js
- Google Generative AI
- Node.js
- Express.js
- MongoDB
- Socket.io
- JWT Authentication
- PDFKit
- Node.js (v14 or higher)
- MongoDB
- npm or yarn
- Clone the repository
git clone https://github.com/aathifpm/sports-fiesta.git- Install Frontend Dependencies
cd client
npm install- Install Backend Dependencies
cd server
npm install- Environment Setup
Create
.envfiles in both frontend and backend directories:
Frontend .env:
REACT_APP_API_URL=http://localhost:5000
REACT_APP_SOCKET_URL=http://localhost:5000
REACT_APP_GEMINI_API_KEY=your_gemini_api_keyBackend .env:
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
PORT=5000- Start the Development Servers
Backend:
cd server
npm startFrontend:
cd client
npm startPOST /api/auth/register- Register new userPOST /api/auth/login- User login
GET /api/events- Get all eventsPOST /api/events- Create new event (Admin only)GET /api/events/:id- Get specific eventPUT /api/events/:id- Update event (Admin only)DELETE /api/events/:id- Delete event (Admin only)
POST /api/teams- Register teamGET /api/teams- Get teams for an event
POST /api/scores- Submit score (Judge only)GET /api/scores/:eventId- Get event scoresGET /api/scores/leaderboard/:eventId- Get event leaderboard
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- React Icons
- Tailwind CSS
- Framer Motion
- Google Generative AI





