Skip to content

Powerful NestJS-based quiz app backend with real-time competitions, user roles, and moderation support. Enhance skills with practice mode, compete in engaging quizzes, and enjoy granular control over user access. Built with Nestjs and MongoDB.

Notifications You must be signed in to change notification settings

akshatV21/quiz-backend

Repository files navigation

Quiz Application

Welcome to the Quiz Application! This web-based application is designed to facilitate quizzes, practice sessions, and PvP (Player versus Player) quizzes, providing an engaging learning experience.

Table of Contents

Overview

The Quiz Application is a comprehensive platform that allows users to create, manage, and participate in quizzes. It encompasses a variety of features, including RBAC, practice sessions, and PvP quizzes. The main focus of this application is to provide a secure and user-friendly environment for both administrators and regular users.

Features

  • RBAC (Role-Based Access Control): The application implements RBAC to ensure proper access control based on user roles.
  • Practice Module: Users can engage in practice sessions to improve their knowledge in a particular topic.
  • PvP Quizzes: Users can challenge each other in Player versus Player quizzes, enhancing the competitive aspect of learning.
  • Admin Dashboard: Administrators have access to a dedicated dashboard for managing questions, sets, and user roles.

Note: This project is currently in development, and some features may be missing or subject to change.

Roles

Admin

As an Admin, you have elevated privileges to manage the entire application. Your responsibilities include:

  • Question Management:

    • Create, update, and delete quiz questions.
    • View a list of all questions.
  • Set Management:

    • Create and manage sets of questions for quizzes.
    • Monitor the usage of questions in sets.
  • User Management:

    • Assign roles to users.
    • View and manage user profiles.

Moderator

Moderators play a crucial role in maintaining a positive and fair environment within the application. Their responsibilities include:

  • Content Moderation:

    • Review user-generated content for adherence to community guidelines.
    • Take appropriate actions such as warning or removing content that violates guidelines.
  • User Interaction:

    • Monitor user interactions, ensuring respectful and constructive communication.
    • Address conflicts or inappropriate behavior within the community.

User

As a regular User, you have the following capabilities:

  • Quiz Participation:

    • Engage in quizzes created by Admins.
    • View and attempt practice quizzes.
  • Profile Management:

    • View your quiz history and performance.
    • Update your profile information.

RBAC Implementation

The RBAC system ensures that each user has the appropriate permissions based on their role. This enhances security and restricts unauthorized access to sensitive functionalities.

Getting Started

To get started with the Quiz Application, follow these steps:

  1. Clone the repository: git clone https://github.com/your-username/quiz-application.git
  2. Install dependencies: npm install
  3. Set up the database and environment variables.
  4. Run the application: npm start

Contributing

We welcome contributions from the community, If you would like to contribute to the development of the Quiz Application.

About

Powerful NestJS-based quiz app backend with real-time competitions, user roles, and moderation support. Enhance skills with practice mode, compete in engaging quizzes, and enjoy granular control over user access. Built with Nestjs and MongoDB.

Topics

Resources

Stars

Watchers

Forks