Skip to content

Latest commit

 

History

History
97 lines (68 loc) · 3.68 KB

README.md

File metadata and controls

97 lines (68 loc) · 3.68 KB


Genai-Quiz

GenaiQuiz, is Serverless Quiz app that converts youtube videos and pdf content to option based quizes.

License: MIT

Folder StructureServices UsedHow To UseArchitectureDocumentationRelatedLicense

Folder Structure

This project contains source code for a serverless that can be deployed using the serverless framework. It also contains frontend code built using Next.js that can also be easily deployed or run locally. Also added are the architecture diagrams for the project.

  • architecture - Contains architectural diagram and workflows for the application
  • backend - Contains the backend/serverless portion of the application built using the serverless framework
  • frontend - Contains the frontend of the application built using Next.js

Services Used

The application utilizes the event driven architecure and Generative AI and is built using AWS services powered by the serverless framework. The following are the AWS services explicitly used

  • Amazon EventBridge
  • Amazon S3
  • Amazon DynamoDB
  • AWS Lambda
  • Amazon API Gateway
  • AWS Step Functions
  • AWS IoT
  • Amazon Cognito
  • AWS CloudFormation
  • AWS STS
  • Amazon Bedrock

How To Use

To clone and run this application, you'll need Git and Node.js v16+ (which comes with npm) installed on your computer. Also create an account with AWS, install the AWS CLI in locally, create an IAM user and add this user to AWS CLI as a profile. This profile user should have necessary permissions to deploy the backend section to AWS. Next, add required credentials to the .env file created from the command below. From your command line:

# Clone this repository
$ git clone https://github.com/chyke007/genai-quiz.git

# Go into the repository
$ cd genai-quiz

# Copy environment variable
$ cp backend/.env.example backend/.env  && cp frontend/.env.example frontend/.env

# Deploy backend (run from folder root)
$ npm i serverless -g
$ cd backend && npm i && serverless deploy

# Remove backend resources (run from folder root)
$ cd backend && sls remove

# Run Frontend (run from folder root)
$ cd frontend && npm i && npm run dev

Architecture

Full flow

Full Flow

Question Generation Flow

Question Generation Flow

Documentation

Coming soon...

You may also like...

  • YumFood - An An online food ordering application
  • TrackIt - A WhatsApp messages tracker
  • Facial Vote - A Serverless Facial Recognition voting application

License

MIT


chibuikenwa.com  ·  GitHub @chyke007  ·  LinkedIn @chibuikenwachukwu