Files
testpoint/PROFESSIONAL_REVIEW.md
T
2026-07-29 10:47:40 +00:00

2.5 KiB

Professional Review — Initial Pass

Fixed in this version

  1. Removed three conflicting student_dashboard view definitions and kept one authenticated, data-driven implementation.
  2. Prevented users from opening sections that do not belong to their own exam attempt.
  3. Prevented editing completed attempts and viewing incomplete results.
  4. Recorded submitted_at when the final section is submitted, fixing average-time calculations.
  5. Preserved the latest attempt per exam instead of accidentally overwriting it with an older one.
  6. Validated the exam-list status filter.
  7. Removed duplicate Section.__str__ code.
  8. Removed duplicate CSS/CDN imports and references to missing static files.
  9. Moved secret key, debug mode, and hosts toward environment-based configuration.
  10. Changed the project timezone to Asia/Tashkent and login redirect to the student dashboard.
  11. Added requirements.txt, .env.example, and setup documentation.
  12. Removed accidental Microsoft Word support folders from template directories.

Important remaining work

Priority 1 — Core exam reliability

  • Add database constraints to prevent duplicate answers and duplicate active attempts.
  • Add proper section/question ordering fields and navigation state.
  • Save answers periodically so refreshes do not erase work.
  • Store server-side exam deadlines; the current JavaScript-only timer can be bypassed.
  • Add validation for required questions and malformed JSON options.
  • Build robust IELTS scoring conversion instead of displaying only raw correct counts.

Priority 2 — Exam builder

  • Create staff-only exam builder pages instead of relying solely on Django admin.
  • Support bulk question and answer import.
  • Add passage, audio, question-group, and preview workflows.
  • Support IELTS question types separately: true/false/not given, headings, sentence completion, maps, multiple selection, etc.

Priority 3 — Product UI

  • Consolidate Bootstrap and Tailwind into one deliberate frontend system.
  • Replace placeholder dashboard values with real metrics.
  • Add responsive mobile navigation and accessible form states.
  • Create consistent empty, loading, success, and error states.

Priority 4 — Deployment

  • Use PostgreSQL in production.
  • Configure secure cookies, HTTPS redirect, CSRF trusted origins, email delivery, and media storage.
  • Add automated tests and a deployment pipeline.
  • Never upload virtual environments, db.sqlite3, .env, or collected staticfiles to Git.