- Executive Summary
- Project Overview
- System Architecture
- Technical Implementation
- Setup & Installation
- API Documentation
- Deployment Guide
- Contributing
- License
Full2Win is a cutting-edge online gaming platform that brings together competitive gamers in an engaging, real-time tournament environment. This platform enables users to participate in competitive gaming tournaments, featuring real-time multiplayer functionality, an interactive tournament lobby, and a comprehensive leaderboard system.
- Tournament System: Create and join competitive tournaments
- Real-time Gameplay: WebSocket-based multiplayer gaming
- Interactive Lobby: Chat with opponents and spectators
- Secure Payments: Integrated Razorpay payment gateway
- Responsive Design: Works across all devices
- Frontend: React.js, Socket.IO Client
- Backend: Node.js, Express.js, MongoDB
- Authentication: JWT
- Real-time: Socket.IO
- Payments: Razorpay
- Cloud Storage: Cloudinary
- Component-based architecture using React.js
- State management with Context API
- Real-time updates via Socket.IO
- Responsive design with modern CSS
- RESTful API design
- WebSocket server for real-time features
- MongoDB for data storage
- Authentication middleware
- Payment processing
-
User Authentication
- JWT-based authentication
- Role-based access control
- Secure password hashing
-
Tournament System
- Tournament creation and management
- Bracket generation
- Real-time matchmaking
-
Game Integration
- Game lobby system
- Real-time game state synchronization
- Score tracking and validation
-
Payment Processing
- Secure payment integration
- Payout distribution
- Transaction history
- Node.js (v16+)
- MongoDB
- npm or yarn
- Clone the repository
- Install dependencies:
cd Full2Win-Frontend npm install cd ../Ful2Win-Backend npm install
- Set up environment variables (see .env.example)
- Start the development servers:
# Backend cd Ful2Win-Backend npm run dev # Frontend (in a new terminal) cd Full2Win-Frontend npm start
POST /api/auth/register- Register a new userPOST /api/auth/login- User loginGET /api/auth/me- Get current user profile
GET /api/tournaments- List all tournamentsPOST /api/tournaments- Create a new tournamentGET /api/tournaments/:id- Get tournament detailsPOST /api/tournaments/:id/join- Join a tournament
GET /api/games- List available gamesPOST /api/games/start- Start a new game sessionPOST /api/games/:id/move- Submit game move
- Set up a MongoDB Atlas cluster
- Configure environment variables for production
- Build the frontend:
cd Full2Win-Frontend npm run build - Start the production server:
cd Ful2Win-Backend npm run prod
# Backend
PORT=5000
MONGODB_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
RAZORPAY_KEY_ID=your_razorpay_key
RAZORPAY_KEY_SECRET=your_razorpay_secret
CLOUDINARY_URL=your_cloudinary_url
# Frontend
REACT_APP_API_URL=your_api_url
REACT_APP_SOCKET_URL=your_socket_url
- 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 MIT License - see the LICENSE file for details.
Last Updated: July 9, 2025 Version: 1.0.0