Inspiration
When I started learning about AWS services, I encountered many services whose names I was seeing for the first time. This sparked the idea: why not create a game to help others become more familiar with AWS services. So I created "Cloud Guesser Game".
What it does
The challenge of the game is to guess 3 AWS services from a list of 10 randomly provided services as quickly as possible. These 10 services are generated from a pool of common AWS services, so chances are you’ll come across some that are new to you too!
How I built it
- Build the core game with Spring Boot The core game is built using Spring Boot, which is a solid choice due to its features like auto-configuration, dependency injection, and Spring Security for managing game sessions and player authentication.
- Integration with AWS DynamoDB To store leaderboard data for your game, which is crucial for tracking player scores and ranking.
- Integration with Elastic Cache To improve query speed for leaderboard data by caching frequently accessed data.
- S3 and CloudFront for Static Files To store and serve static files (e.g., JavaScript, CSS, audio, image) efficiently.
- AWS Cognito for Authentication
- Using Certificate Manager and Route 53 To secure traffic with SSL/TLS certificates and manage custom domain routing.
- CloudWatch To monitor and log application metrics and system performance.
- Parameter Store for Secret Parameters To securely store sensitive configuration parameters.
- AWS IAM for EC2 Role To define and manage permissions for EC2 instances.
- Key Management Service (KMS) To encrypt sensitive data at rest.
Challenges I ran into
- Lack of Experience with AWS Services: I had no prior experience with AWS services like ElastiCache, Parameter Store, and Beanstalk.
- Deployment Errors: Encountered errors when deploying Beanstalk with a Launch Configuration.
- Log Access Difficulties: It was challenging to view application logs on the EC2 instance. To address this, I used CloudWatch Logs to monitor application logs in real-time.
Accomplishments that I'm proud of
- Cloud Guesser Game I successfully developed the Cloud Guesser Game, which is both engaging and challenging. Players must guess the correct three AWS services as quickly as possible.
- Extensive AWS Integration The game integrates a wide range of AWS services (14 in total) demonstrating a deep understanding of AWS capabilities and effective service utilization.
- Cognito
- AWS Beanstalk
- Dynamo DB
- Elastic cache
- Parameter store
- Cloudfront
- S3
- Certificate-manager
- Route 53
- Load balancer
- CloudWatch
- Auto Scaling Group
- Key Management Service
- AWS IAM
What I learned
- AWS Services and Practical Usage: I explored and practiced using various AWS services, including:
- Beanstalk
- DynamoDB
- ElastiCache
- Parameter Store
- CloudWatch
- EC2
- Certificate Manager
- Route 53
- Cognito
- CloudFront
- S3
- Key Management Service (KMS)
- Amazon Q Developer: I used Amazon Q Developer to:
- Seek guidance on integrating AWS services into my game.
- Find solutions to errors encountered during game development.
What's next for Cloud Guesser Game
Explore and integrate additional AWS services to enhance the game's functionality and performance.
Built With
- amazon-auto-scaling-group
- amazon-cloudfront-cdn
- amazon-cloudwatch
- amazon-dynamodb
- amazon-elasticache
- amazon-iam
- amazon-key-management-service
- amazon-load-balancer
- amazon-route-53
- aws-certificate-mangager
- beanstalk
- cognito
- java
- parameterstore
- s3
- spring
Log in or sign up for Devpost to join the conversation.