QBank Online Exam Platform

Замовник: AI | Опубліковано: 22.11.2025
Бюджет: 100 $

1. Overview We are developing a flexible, multi-exam QBank platform. The current database design restricts each System to only one Subject, and each Category to only one System, which prevents us from supporting multi-subject or multi-system indexing. This project aims to redesign the database and update all backend logic to support: Many-to-many (M2M) relations between Subjects ↔ Systems Many-to-many (M2M) relations between Systems ↔ Categories Multiple QBank modes (AMC, MCCQE, USMLE-style, custom) Flexible tagging so questions can be filtered in different ways depending on the exam format. 2. Objectives 2.1 Database Redesign A. Replace current 1-to-M structure with: Subjects ↔ Systems (M2M) Systems ↔ Categories (M2M) B. Implement new pivot/linking tables: subject_system system_category C. Ensure a question can be assigned to: only subjects only systems subject and systems or system and categories Flexible Tagging for Multiple Question Types The platform must allow inserting a question using any combination of tagging levels. A question should be valid even if it contains only one tag or multiple tags. Supported options include: Subject only System only Category only Subject + System System + Category Subject + Category Subject + System + Category No tag should be mandatory unless defined by the admin for that specific exam mode. The system must treat all combinations as valid question entries without causing errors or blocking insertion. The filtering UI on the test interface should automatically adjust based on which tags exist for that specific question set. Admin Panel Enhancements Admin panel must support: Full CRUD for Subjects, Systems, Categories Assigning Systems to multiple Subjects Assigning Categories to multiple Systems Creating QBank Modes Setting filter visibility for each mode Validation: prevent assignment of systems/categories not linked through M2M tables