Inspiration
The idea for Memory Quest was inspired by the classic memory card game, which is both entertaining and a great mental exercise. The challenge of building a fully functional, interactive, and visually appealing game within a month pushed me to explore new technologies. The journey of learning and implementing these technologies, guided by Amazon Q Developer, was an incredible and inspiring experience.
What it does
Memory Quest is an online memory card game where players match pairs of cards by recalling their positions. The game can be played anonymously or with a username. Players' performance is tracked through metrics like total clicks, invalid clicks, and completion time, which are used to rank them on a leaderboard.
The game offers three levels of difficulty:
- Easy: 6 cards
- Medium: 12 cards
- Hard: 16 cards
Additionally, players can engage in live chat on the game page, creating a social and interactive gaming experience.
How we built it
The game was built using:
- Frontend: Developed with React, entirely new to me. Amazon Q Developer played a crucial role by generating over 98% of the frontend code based on my requirements. It provided guidance on JavaScript and CSS implementation and helped refine the design iteratively.
- Backend: Built using Spring Boot with REST APIs, also largely assisted by Amazon Q Developer.
- Database: Amazon DynamoDB was used to store game data, offering scalability and performance.
- Storage: Images for the cards were uploaded to Amazon S3 with public access for easy integration.
- Deployment: The frontend was deployed seamlessly using Amazon Amplify, simplifying the deployment process.
Amazon Q Developer was instrumental throughout the development process, from generating code snippets to debugging and answering queries for both frontend and backend.
Challenges we ran into
The primary challenges included:
- Lack of Frontend Experience: As someone new to React, it was daunting to build a frontend application. Amazon Q Developer provided step-by-step guidance.
- DynamoDB Integration: I was unfamiliar with DynamoDB's structure, but I overcame this through exploration and assistance from Amazon Q Developer.
- S3 Access Issues: Initially, I couldn’t access images stored in S3 until I learned about setting public permissions.
- Amplify Deployment: Deployment issues arose due to account-specific restrictions, which were resolved with help from Amazon Support, demonstrating the effectiveness of AWS support services.
Accomplishments that we're proud of
- Successfully building and deploying my first hackathon project within a month.
- Gaining hands-on experience with Amazon Q Developer, React, DynamoDB, S3, and Amplify.
- Learning new technologies and overcoming challenges without prior experience.
- Creating a polished, interactive, and fully functional game with live chat and leaderboard features.
What we learned
This project was a massive learning opportunity:
- Technical Skills: Learned how to work with DynamoDB, S3, Amplify, and React.
- Amazon Q Developer: Discovered how powerful and efficient Amazon Q Developer is for coding and debugging.
- Problem-Solving: Learned how to tackle deployment issues, seek support effectively, and resolve errors.
- Hackathon Experience: The fast-paced environment inspired me to adapt quickly, think creatively, and deliver under tight deadlines.
What's next for Memory Quest
The potential enhancements for Memory Quest include:
- Adding themed card sets (e.g., letters for kids, animals, flowers).
- Introducing a user registration system to track player history and progress.
- Implementing user profiles with login/logout functionality.
- Expanding the social interaction features by integrating more chat functionalities and multiplayer modes.
Built With
- amazon-dynamodb
- amazon-web-services
- amplify
- css
- docker
- html
- javascript
- react
- rest-api
- spring-boot

Log in or sign up for Devpost to join the conversation.