softProTeam1 / quizzer_project_teamB

Quizzer project for SOF005AS3AE-3002 team B. Members: Blazej, Anh, Thien, Hong
MIT License
0 stars 1 forks source link

Quizzer

A web-base application designed for teachers to create various kinds of topic-base quizzes. With the aim is for their students to learn about course related topics. Features include 2 dashboard: One for the teachers to manage quizzes, Another for students to take different quizzes.

Backend using Springboot Java framework
Frontend using React

Team Members:

Architecture

  1. Components' purpose:
flowchart TB
    Frontend --> Backend
    Backend --> Database

Documentation

  1. Project Backlog
  2. Swagger documentation to display the information of REST API classes

Developer guide

Backend

Frontend

Test Instruction

We run tests in Java Spring Boot using JUnit following the Arrange-Act-Assert pattern:

Here's how to run the tests:

  1. Make sure you have your project set up with Spring Boot and JUnit dependencies.
  2. Place your test classes in the src/test/java directory.
  3. Right-click on your test class or method, then select "Run As" > "JUnit Test" from your IDE's context menu. Alternatively, you can run the tests for the project either in Eclipse or by running the ./mvnw test command in Git Bash.

Generate a JAR file for the application and run the application using the JAR file

Render Instruction

Data Model

erDiagram
    CATEGORIES ||--|{ QUIZZ : contains
    QUIZZ ||--o{ QUESTION : includes
    QUIZZ }o--|| STATUS : has
    QUESTION }|--|| DIFFICULTY : has
    QUESTION }|--|| ANSWER : has
    QUIZZ }|--|| REVIEW : has
    USER }o--|| QUIZZ : has

    CATEGORIES {
        Long categoryId PK
        string name
        string description
    }

    QUIZZ {
        Long quizId PK
        string name
        string description
        Instant createdAt
        Long statusId FK
        Long categoryId FK
    }

    QUESTION {
        Long questionId PK
        string questionText
        string correctAnswer
        int difficultyId
    }

    STATUS {
        Long statusId PK
        boolean status
    }

    DIFFICULTY {
        Long difficultyId PK
        string level
    }

    ANSWER {
        Long answerId PK
        string answerText
        boolean correctness
        Long questionId FK
    }
    REVIEW {
        Long reviewId PK
        string nickname
        string reviewText
        Instant reviewTime
        Long quizzId FK
    }

    USER {
    Long id PK
    String username
    String passwordHash
    String role
    }

Description:

Frontend Deployment Instructions

  1. Environment Setup:
  1. Prepare for Production:
  1. Push Changes to GitHub:
  1. Setup Render:
  1. Deployment on Render:
  1. Routing Configuration:

Following these steps will deploy the frontend of Quizzer on Render, allowing users to access the application through the specified URL.

License

React is MIT Licensed