AWS Logo
Menu
32chess.com

32chess.com

An online platform for chess tournament which feels like you are in a real tournament because it is.

Published Jan 14, 2025
The architecture of 32chess.com represents a sophisticated cloud-based infrastructure designed for scalability, security, and optimal user experience. When users access the platform, their requests first encounter a robust frontend infrastructure that begins with DNS resolution. These requests are elegantly handled by AWS Route 53, which serves as the authoritative DNS service, ensuring high availability and efficient routing to the appropriate resources.
32chess.com AWS infrastructure
32chess.com AWS infrastructure
At the content delivery layer, Amazon*CloudFront*** acts as a powerful CDN, working in harmony with Amazon S3 to serve static content. This setup ensures that users worldwide experience minimal latency, as CloudFront's edge locations cache and serve content from geographically optimized locations. The static assets, including the website's HTML, CSS, JavaScript, and media files, reside in S3 buckets, providing a reliable and cost-effective storage solution.
Real time game play using sockets
Real time game play using sockets
The backend architecture showcases a thoughtful implementation of security and scalability. When CloudFront needs to make API calls, it communicates with AWS Elastic Beanstalk using either JWT tokens or basic authentication, ensuring that all requests are properly authenticated. Elastic Beanstalk hosts the application(JAVA) within a well-architected environment that includes an Elastic Load Balancer for traffic distribution and auto-scaling groups that dynamically adjust capacity based on demand. This setup allows the platform to maintain consistent performance even during peak usage periods.
The database layer centers around a AWS MySQL RDS instance, with access tightly controlled through security groups. This database serves as the central repository for all game data, user information, and application state. In a notable security measure, database access is strictly limited to three components: the Elastic Beanstalk environment, the game engine, and the admin instance. This restrictive access pattern significantly enhances the platform's security posture.
32chess.com fixture
32chess.com fixture
For real-time gameplay, the architecture employs a specialized game engine written in Node.js and hosted on a dedicated EC2 instance. This engine establishes WebSocket connections through CloudFront, enabling real-time communication for game moves and player interactions. Every move made by players is carefully recorded in the AWS MySQL database, ensuring game state persistence and enabling features like game replay and analysis.
The platform's notification system adds another layer of user engagement. When game events occur, the application makes API calls to third-party notification services, which then relay important updates to users. This could include game starts, move notifications, game completions, or other relevant events that keep players engaged and informed.
Administrative operations are handled through a separate EC2 instance, providing a secure, isolated environment for system monitoring and database management. This separation of concerns ensures that administrative functions don't interfere with regular gaming operations while maintaining secure access to critical system components.
Chess board preview
Chess board preview
Build management and deployment are streamlined through a dedicated S3 bucket for application builds, enabling smooth version control and deployment processes. This setup allows for efficient application updates and the ability to roll back to previous versions if needed, ensuring system reliability and maintainability.
Throughout this architecture, security is a paramount concern, with each component carefully isolated and access controls strictly enforced. The use of security groups, limited database access, and authenticated API calls creates multiple layers of security that protect user data and maintain system integrity. This comprehensive approach results in a robust, scalable, and secure platform that delivers an excellent chess-playing experience to users worldwide.
 
NOTE : Users from INDIA having a valid 10 digit mobile number can register and play.
other users can send a request to info@32chess.com to get a temporary user name and password.
check out my web app at https://32chess.com/
 

Comments