Inspiration

Personally, when I was preparing for the AWS Cloud Practitioner exam, I had to search for practice questions, and at times I felt really bored and uninterested in studying. This marks the point where I felt there was a need for a gamified platform where we can find practice questions tailored to the exam we're preparing for and feel engaged through gamified challenges that enhance learning.

What it does

AmazonIQ is a gamified quiz platform that helps students prepare for AWS certifications while making learning more interesting.
The platform offers:

  • Interactive quiz sessions tailored to specific AWS certification exams.
  • Single Player/Double Player Game modes.
  • Gamified elements like points to track scores.
  • Dynamic shuffling of questions and the ability to play unlimited times.
  • Real-time feedback on answers.

Architecture

The architecture diagram illustrates the development and deployment process for the AmazonIQ platform. Here's the explanation:

1. Development Tools

  • VS Code:

    • The platform's code is developed using Visual Studio Code (VS Code), a popular integrated development environment (IDE).
    • It acts as the primary tool for coding and local testing.
  • GitHub:

    • Version control is managed using GitHub, where developers commit and push their code.
    • GitHub ensures collaboration and tracking of code changes.
    • The code from GitHub is deployed to the backend services.

2. AWS Services

  • Amplify:

    • The code is deployed to AWS Amplify, which handles hosting and backend integration.
    • Amplify provides a streamlined way to deploy and manage the application without worrying about infrastructure.
  • Cognito:

    • Amplify integrates with Amazon Cognito for user authentication.
    • Cognito handles tasks such as user sign-in, sign-up, and secure access to the platform.
  • IAM:

    • Created an IAM user and given necessary permissions.
    • This allowed for the principle of least privilege, enhancing security and reducing the risk of unauthorized access.

Workflow Summary

  1. Developers write the code in VS Code.
  2. Code is pushed to GitHub for version control and collaboration.
  3. The code is deployed from GitHub to AWS Amplify, which manages hosting and backend services.
  4. AWS Amplify connects to Amazon Cognito to handle user authentication.
  5. The final product, AmazonIQ, is the gamified quiz platform accessible to users.

For more details, view my blog at https://community.aws/content/2rNXWsRG16tdXlo3N3eqSP4Dfz4/amazoniq-stepbystep-guide StepbyStepGuide.

How we built it

We developed AmazonIQ using a modern tech stack:

  • Frontend: React.js with responsive design.
  • Authentication: AWS Amplify and Amazon Cognito.
  • Styling: CSS with AWS design principles.
  • Routing: React Router for navigation.
  • Database: JSON file for storing quiz questions.
  • Backend: AWS Amplify for backend services.
  • State Management: React Context API.
  • Hosting: Through AWS Amplify.

Challenges we ran into

  • Encountered delays with AWS account setup.
  • Time constraints for creating the most responsive UI.
  • Faced blockers while pushing the code to GitHub.

Accomplishments that we're proud of

  • Successfully built a game using AmazonIQ.
  • Created a working MVP within the given time.
  • Increased security through IAM.

What we learned

  • Learned how to work with many AWS services.
  • Learned to focus on building applications rather than spending time on configurations by employing AWS services.

What's next for AmazonIQ

  • Expanding the question database for all AWS certifications.
  • Implementing AI-powered personalized learning paths.
  • Creating mobile applications for iOS and Android.
  • Introducing practice labs and hands-on exercises.
  • Developing a recommendation system for study materials.
Share this project:

Updates