Building an AWS Gamified Learning Platform with Amazon Q and Gemini: An AI-Powered Journey (Public Repo)

Building an AWS Gamified Learning Platform with Amazon Q and Gemini: An AI-Powered Journey (Public Repo)


I’m excited to share my project, CloudQuest, built for the AWS Game Builder Challenge. Inspired by the engaging learning style of Duolingo, CloudQuest transforms the often-daunting world of AWS into a fun, interactive, and rewarding game.

Demo | Github



What is CloudQuest?

CloudQuest is a gamified learning platform that helps you master Amazon Web Services (AWS) through interactive quizzes and a game-like progression system. Whether you’re a complete beginner or have some cloud experience, CloudQuest is designed to make learning about AWS accessible, enjoyable, and effective.

Disclaimer: Just to clarify, CloudQuest is a project I built independently for the AWS Game Builder Challenge and is not the same as the official Amazon game, Cloud Quest. I hope you enjoy it!



How Does It Work?

The core gameplay revolves around modules and lessons. You’ll start with the basic concepts and progress to more advanced topics. Each lesson presents you with 12 interactive quiz questions, designed to test and reinforce your understanding. These questions come in various formats, including:

  • Multiple Choice: Select the correct answer from a list of options.
  • True/False: Determine if a statement is true or false.
  • Fill-in-the-Blank: Complete the sentence with the correct words.
  • Short Answer: Type in a brief answer to a question.
  • Drag and Drop: Match items by dragging them into the correct categories.
  • Matching: Pair terms with their definitions.
  • Ordering: Arrange steps or items in the correct sequence.
  • Image Identification: Select the correct AWS service based on the given image.

You can play all of these question types using just your keyboard, making the game easily accessible. As you advance, you’ll level up your knowledge, earn points, and track your progress.



AWS Services Used

CloudQuest leverages the following AWS services:

  • AWS Amplify: This is the backbone of the app, handling frontend hosting, backend, and CI/CD. It also manages user authentication and authorization using AWS Cognito.
  • AWS DynamoDB: This service was used as the database to store all the game data and user progress.
  • AWS AppSync: This service was used to create a GraphQL API, connecting the frontend to the DynamoDB database.
  • Amazon Q: I used Amazon Q Developer as a co-developer to assist in code generation, debugging, and research.
  • Gemini 2.0 Flash: Used to generate the questions for each lesson using function calling.



My Development Journey

This project was an exciting and challenging experience. Here are some of the things I learned:

  • AWS Amplify and Cognito: Learning these services and getting them configured took time and effort, but it was also rewarding to learn their power.
  • Rapid Development: I challenged myself to build a project in a short amount of time, pushing the limits of what I could achieve in 15 days.
  • Just Start: I learned to just start the project and iterate based on the needs.



What I’m Proud Of

  • Amazon Q Collaboration: I’m very proud to have worked with Amazon Q as my coding partner. It sped up my development process and helped me code, debug and research with great efficiency.
  • Functional Prototype: I’m happy to have built and launched a functional project under a short amount of time.
  • Community Engagement: I was able to participate in the AWS Game Builder Challenge and I was happy to share my work with the community.



What’s Next for CloudQuest?

  • Beta Testing: I am looking forward to getting feedback from beta users and improve the gameplay.
  • Content Expansion: I am planning to expand the content and cover more AWS topics.
  • Personalized Learning: I’m planning to integrate Amazon Bedrock to create personalized lessons based on user performance and learning patterns.



How I Used Amazon Q Developer

Here are some ways I leveraged Amazon Q during development:

  • @workspace for Context: I used the @workspace command to provide Amazon Q with context from my codebase, which helped it generate relevant code and suggestions.
  • /dev for UI Components: I used the /dev command to rapidly generate UI components and pages.
  • Command+I for Code Edits: I used Command+I (or equivalent) in my IDE to edit and generate code snippets.
  • Contextual Actions: I leveraged the context menu options for refactoring, explanation and initiating longer discussions.
  • Multi-Tab Chat: I used the multi-tab chat feature to work on different tasks in parallel.



Gameplay




Try CloudQuest!

I invite you to check out CloudQuest and give it a try. Any feedback or comments are much appreciated!

Demo: https://main.d15m5mz0uevgdr.amplifyapp.com/

Github Repo: https://github.com/ossamaweb/cloud-quest



Source link
lol

By stp2y

Leave a Reply

Your email address will not be published. Required fields are marked *

No widgets found. Go to Widget page and add the widget in Offcanvas Sidebar Widget Area.