A comprehensive Mobile Legends Bang Bang gaming community platform featuring AI-powered chatbot, team management, tournament tracking, and meta analysis.
- ๐ Home Dashboard - Welcome page with platform overview
- ๐ Meta Analysis - Real-time MLBB hero and item meta data
- ๐ฅ Teams Management - Create and manage gaming teams
- ๐ Tournaments - Track and participate in tournaments
- ๐ Events - Gaming events and community activities
- ๐ Guides - Strategy guides and tutorials
- ๐ฅ Community - Player interaction and social features
- ๐ Academy - Learning resources and courses
- Smart Chatbot - AI-powered assistant for MLBB queries
- Strategy Recommendations - Personalized gameplay advice
- Meta Insights - AI-driven meta analysis
- Modern Gaming Theme - Neon-styled, responsive design
- Smooth Animations - GSAP-powered transitions and effects
- Custom Stinger Animations - Loading sequences with PNG frames
- Error Boundaries - Graceful error handling
- Mobile Responsive - Optimized for all device sizes
- Node.js 18.0.0 or higher
- npm 9.0.0 or higher
- Git
-
Clone the repository
git clone https://github.com/your-username/mlbb-platform.git cd mlbb-platform -
Install dependencies
npm run install:all
-
Environment setup
cp env.example .env # Edit .env with your configuration -
Start development environment
npm run dev
Or use the advanced development script:
node scripts/dev.js
mlbb-platform/
โโโ ๐ backend/ # Node.js/Express API server
โ โโโ ๐ src/
โ โ โโโ ๐ controllers/ # API controllers
โ โ โโโ ๐ routes/ # API routes
โ โ โโโ ๐ middlewares/ # Express middlewares
โ โ โโโ ๐ models/ # Data models
โ โ โโโ ๐ utils/ # Utility functions
โ โ โโโ ๐ app.js # Express app configuration
โ โ โโโ ๐ server.js # Server entry point
โ โโโ ๐ package.json
โโโ ๐ frontend/ # React/Vite client app
โ โโโ ๐ src/
โ โ โโโ ๐ components/ # React components
โ โ โโโ ๐ pages/ # Page components
โ โ โโโ ๐ hooks/ # Custom React hooks
โ โ โโโ ๐ utils/ # Utility functions
โ โ โโโ ๐ styles/ # CSS modules
โ โ โโโ ๐ App.jsx # Main App component
โ โ โโโ ๐ main.jsx # React entry point
โ โโโ ๐ public/ # Static assets
โ โโโ ๐ package.json
โโโ ๐ scripts/ # Development scripts
โโโ ๐ proxy.js # API proxy server
โโโ ๐ package.json # Root package.json
โโโ ๐ README.md
npm run dev # Start both frontend and backend
npm run dev:backend # Start backend only
npm run dev:frontend # Start frontend only
npm run build # Build frontend for production
npm run start # Start production backend
npm run install:all # Install all dependencies
npm run lint # Lint frontend code
npm run clean # Clean all node_modules
npm run proxy # Start proxy servercd backend
npm run dev # Start with nodemon
npm run start # Start production server
npm run lint # Lint backend code
npm run health # Check API healthcd frontend
npm run dev # Start Vite dev server
npm run build # Build for production
npm run build:analyze # Build with bundle analyzer
npm run preview # Preview production build
npm run lint # Lint with ESLint
npm run lint:fix # Fix linting issues-
Start development environment
npm run dev
-
Access services
- Frontend: http://localhost:5173
- Backend API: http://localhost:4000
- Proxy Server: http://localhost:4005
-
Hot reload - All changes are automatically reflected
-
API Testing - Use the health endpoint: http://localhost:4000/api/health
Copy env.example to .env and configure:
# API Configuration
VITE_API_URL=http://localhost:4000/api
PORT=4000
PROXY_PORT=4005
# AI Chatbot
OPENAI_API_KEY=your_openai_api_key
# Security
JWT_SECRET=your_jwt_secret
# Feature flags
DEBUG_MODE=true
ENABLE_ANALYTICS=false- React 19 with functional components and hooks
- Vite for fast development and optimized builds
- GSAP for smooth animations and transitions
- Axios for API communication with retry logic
- React Router for client-side routing
- Custom hooks for reusable logic
- Error boundaries for graceful error handling
- Node.js with Express framework
- Middleware stack: CORS, Helmet, Morgan, Compression
- Rate limiting and security headers
- Structured error handling with detailed logging
- API versioning and health checks
- Modular route organization
- Component composition over inheritance
- Custom hooks for stateful logic
- Centralized API layer with error handling
- Modular CSS architecture
- Environment-based configuration
- Base styles in
main.css - Component styles in
styles/components.css - Utility classes for common patterns
- CSS variables for theming
- Responsive design with mobile-first approach
--primary: #00f5ff /* Cyan */
--secondary: #7c3aed /* Purple */
--accent: #fbbf24 /* Amber */
--background: #0a0b14 /* Dark */
--surface: #151924 /* Dark Gray */- GSAP for complex animations
- CSS transitions for simple interactions
- 60fps targeting for smooth performance
- Reduced motion support for accessibility
cd frontend
npm run test # Run tests
npm run test:watch # Watch mode
npm run test:coverage # Coverage reportcd backend
npm run test # Run API tests
npm run test:integration # Integration testsnpm run build:analyze # Bundle analysis
npm run lighthouse # Performance audit- Code splitting by route and feature
- Lazy loading for components and images
- Bundle optimization with Vite/Rollup
- Image optimization and lazy loading
- Service worker for caching (optional)
- Response compression with gzip
- Request rate limiting
- Memory caching for API responses
- Database connection pooling (when applicable)
- CDN integration for static assets
- Tree shaking for smaller bundles
- Minification of CSS/JS
- Asset optimization and compression
- Modern browser targeting
- Content Security Policy headers
- XSS protection through React's built-in escaping
- HTTPS enforcement in production
- Environment variable validation
- Helmet.js for security headers
- CORS configuration
- Rate limiting to prevent abuse
- Input validation and sanitization
- JWT token authentication
- Error message sanitization
npm run build # Build frontend
npm run build:backend # Prepare backend- Set
NODE_ENV=production - Configure production environment variables
- Set up reverse proxy (nginx recommended)
- Configure SSL certificates
- Set up monitoring and logging
# Dockerfile example (create when needed)
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 4000
CMD ["npm", "start"]- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Run tests:
npm test - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
- ESLint configuration for JavaScript
- Prettier for code formatting
- Conventional commits for commit messages
- JSDoc comments for functions
- Component documentation in README
- Update documentation for any new features
- Add tests for new functionality
- Ensure all tests pass
- Update version numbers if applicable
- Get approval from maintainers
Port conflicts:
# Change ports in .env file
PORT=4001
PROXY_PORT=4006
VITE_PORT=5174Dependencies issues:
npm run clean # Clean all node_modules
npm run install:all # Reinstall dependenciesBuild errors:
npm run lint:fix # Fix linting issues
rm -rf dist/ # Clean build directory
npm run build # RebuildAPI connection issues:
- Check backend server is running on correct port
- Verify CORS settings in backend
- Check network/firewall settings
Enable debug mode in .env:
DEBUG_MODE=true
VERBOSE_LOGGING=true- โจ Initial release with core features
- ๐จ Modern gaming UI with GSAP animations
- ๐ค AI chatbot integration
- ๐ Real-time MLBB meta data
- ๐ Tournament and team management
- ๐ฑ Mobile-responsive design
- ๐ง Comprehensive development setup
This project is licensed under the MIT License - see the LICENSE file for details.
- Mobile Legends Bang Bang for inspiration
- React and Vite communities
- GSAP for amazing animations
- OpenAI for AI capabilities
- All contributors and testers
- Documentation: Check this README and inline code comments
- Issues: Open a GitHub issue for bugs or feature requests
- Community: Join our Discord server (if available)
- Email: your-email@example.com (if applicable)
Made with โค๏ธ for the MLBB gaming community
๐ฎ Happy Gaming! ๐ฎ