Secure PHP CBT Platform
Budget: $10 – $30 USD
I need a computer-based testing platform in PHP and MySQL that focuses on stability and security while remaining easy for exam administrators to manage. The system will run only multiple-choice questions and must comfortably serve 51–200 concurrent students.
Core functionality
• Exams must pause automatically during a power outage or unexpected browser closure and let the student resume with the correct remaining time as soon as the connection returns.
• Question banks will arrive in bulk, so an Excel/CSV batch-upload tool with clear field mapping is essential.
• Administrators will be able to create any number of separate exams, set start/end dates, time limits and individualized access codes, and then monitor live progress and results in real time.
Security expectations
Two-factor authentication is non-negotiable for every user role (students and admins alike). The second factor can be OTP via email, SMS or an authenticator app—whichever integrates most smoothly with the final build. In addition, all data in transit and at rest must be encrypted, and the question database must be protected from unauthorized export or screen-scraping attempts.
Performance targets
The application should remain responsive with up to 200 simultaneous sessions, even when many students submit answers at nearly the same moment. A lightweight front-end approach (vanilla JS or a minimal framework) is preferred to avoid unnecessary load.
Deliverables
• Full PHP/MySQL source code, cleanly commented
• SQL schema and migration scripts
• Deployment guide for a typical LAMP/VPS environment
• Admin manual covering exam creation, bulk upload and result export
• Basic user guide for students (login, 2FA, resumption process)
• Final test plan demonstrating successful time-resumption, load handling and 2FA flow
If any open-source package or framework is incorporated, please document it thoroughly so future maintenance remains straightforward.
Core functionality
• Exams must pause automatically during a power outage or unexpected browser closure and let the student resume with the correct remaining time as soon as the connection returns.
• Question banks will arrive in bulk, so an Excel/CSV batch-upload tool with clear field mapping is essential.
• Administrators will be able to create any number of separate exams, set start/end dates, time limits and individualized access codes, and then monitor live progress and results in real time.
Security expectations
Two-factor authentication is non-negotiable for every user role (students and admins alike). The second factor can be OTP via email, SMS or an authenticator app—whichever integrates most smoothly with the final build. In addition, all data in transit and at rest must be encrypted, and the question database must be protected from unauthorized export or screen-scraping attempts.
Performance targets
The application should remain responsive with up to 200 simultaneous sessions, even when many students submit answers at nearly the same moment. A lightweight front-end approach (vanilla JS or a minimal framework) is preferred to avoid unnecessary load.
Deliverables
• Full PHP/MySQL source code, cleanly commented
• SQL schema and migration scripts
• Deployment guide for a typical LAMP/VPS environment
• Admin manual covering exam creation, bulk upload and result export
• Basic user guide for students (login, 2FA, resumption process)
• Final test plan demonstrating successful time-resumption, load handling and 2FA flow
If any open-source package or framework is incorporated, please document it thoroughly so future maintenance remains straightforward.
Related categories:
PHP
Android
Software Architecture
MySQL
Web Development
Security
Database Management
LAMP