Project

General

Profile

Actions

Bug #224

open

Student practice screen - N1

Added by Nikita Kushwaha on 09/24/2026 10:34 AM. Updated on 09/24/2026 10:34 AM.

Status:
Default
Priority:
Normal
Start date:
09/24/2026
Due date:
% Done:

0%

Estimated time:

Description

24 Sep 2026 — N1 practice Start

Lane: Student practice screen
Related: #95

Only N1 today. N2 and N3 from 23 Sep were taken back out of the working copy, then N1 was written again. Files: Frontend/src/LMS/Practice.tsx and Frontend/src/LMS/Practice.css. Not committed. No backend or database change. CAT rows already in MySQL were left in place.

N1 — Start

  • A chapter opens a Start card. The screen no longer shuffles local quizData and no longer calls fetchJeeMainQuestions.
  • Start calls POST /attempts/start through apiFetch.
  • Chapter practice sends exam, subject, classLevel, chapter, and limit: 20. A real test sends only { testId }.
  • The screen keeps attemptId, the server questions, durationMinutes, navMode, and startedAt.
  • Attempt id is stored in sessionStorage (teamtalks_attempt_id). Refresh calls GET /attempts/{id} and reopens the same IN_PROGRESS attempt.
  • The timer uses the server duration and start time. The hardcoded 1800 seconds is gone.
  • If start fails, or the server returns no questions, the screen shows "Could not start the test, please try again".
  • Topic lock (UpgradeModal) is unchanged.
  • Start card layout is in Practice.css (.practice-start).

Not in this change

  • N2 autosave and N3 server submit are not in the file.
  • pyqData.ts, PyqWorkspace.tsx, and CatQuestion.java were not edited.
  • Opening /practicehome/practice with no exam or chapter does not create an attempt. The chapter has to be opened from Practice Hub.
Actions

Also available in: Atom PDF