Skip to content

augisbud/QuizCraft

Repository files navigation

QuizCraft

This solution allows users to upload a summary of a given topic, whether it is a university or work assignment, and receive multiple-choice questions based on that summary to practice their knowledge and be evaluated on matters related to that topic.

Team Members

  • Augustas Budnikas
  • Ignė Balvočiūtė
  • Emilija Marija Dailydžionytė

Technologies Used

Front-end:

  • React

Back-end:

  • .NET 8
  • C#
  • Entity Framework Core
  • PostgreSQL
  • Gemini API
  • Docker

Deployment on a Local Machine

Checkout the Github Repository

Setup PostgreSQL in Docker using:

docker run -itd -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 --name postgresql postgres

Set Gemini API key as an Environment Variable in your machine using the given key: GeminiAPIKey

Then run the following commands

Using .NET 8 SDK:

cd QuizCraft.Domain.API
dotnet run

or using Docker

cd QuizCraft.Domain.API
dotnet publish -c Release
docker build -t quicraft:latest .
docker run -p 8080:8080 quizcraft:latest

Testing with Coverage

dotnet test /p:CollectCoverage=true /p:CoverletOutputFormat=lcov /p:CoverletOutput=./lcov.info

Should work for Coverage Gutters in VS Code.

Project Structure

Main components

  • User
  • Question

Data flow

The project utilizes the following key components and database tables:

  1. Users Table:

    • Stores user information, such as account details and preferences.
    • Each new user is registered here.
  2. Files Table:

    • Stores data about the files uploaded by users.
  3. Generated Questions Table:

    • Stores the questions generated by the AI for each uploaded file.
    • Allows users to retake tests if necessary.
  4. Test Results Table:

    • Stores a history of user test results and scores.
    • Enables users to review past performance.

File Upload and Test Generation

  1. File Upload:

    • Users upload learning materials through the file upload interface.
  2. Processing:

    • The backend processes the file and extracts the content.
  3. Test Generation:

    • AI engine analyzes the content and generates relevant questions.
  4. Test Output:

    • The generated test is displayed to the user, allowing them to answer questions and submit responses.

Use-case Diagram

Alt text

Activity Diagram

Alt text

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 3

  •  
  •  
  •