Project
•
23 Sept 2025
EAP UNS

Overview
A platform that functions to conduct online college exams. This online exam platform was developed as a digital solution to support academic testing and language certification in higher education. The background for developing this platform stems from a real need in universities, where students are required to take and pass various competency exams, one of which is English for Academic Purposes (EAP) as an academic prerequisite. This type of examination process requires a transparent, fair, and standardized system so that the results can be used as an official benchmark of student ability.
Project Goals
The main objective of developing this online exam platform is to provide a digital solution that can replace the conventional paper-based exam system. With this platform, the learning evaluation process can be more efficient, environmentally friendly, and easily accessible from various devices.
One of the key focuses of this project is to improve assessment efficiency. Through an automated grading system for objective questions, the workload of teachers can be significantly reduced. In addition, the platform also ensures transparency and accountability by providing exam results that can be directly accessed by both participants and teachers, thereby minimizing the potential for errors and increasing the credibility of the evaluation process.
Tech Stack
- Frontend: Vue.js & Laravel Blade
- Backend: Laravel
- Database: Mysql
- Storage: AWS S3
- Deployment: AWS EC2
Features
- Setting the Exam Schedule: The administrator creates a schedule according to batches (e.g., morning or afternoon).
- Distributing Questions: Multiple-choice questions for reading/structure. All questions are stored in the question bank.
- Corrections & Scores: The system automatically calculates multiple-choice scores. The grading scheme is also adjusted to EAP standards (e.g., A = >85, B+ = 75–79, etc.).
- Randomization of Questions & Answers: The order of questions is randomized for each participant. Answer options are also randomized so that participants cannot easily compare screens with their friends.
- Reporting Results: After the exam, the results are automatically saved in the dashboard. Participants can view their scores, while administrators can export grade reports for the entire class.
- Navigation Restrictions: Participants cannot switch applications once they start working (the restriction applies after clicking the start button). Violations will result in a warning, and repeated violations will result in the exam being terminated.
- Timer & Auto-Submit: There is a time limit for the exam, and the system will automatically submit the answers when the time is up.
- Participant login system: participants log in using accounts created in advance along with a photo of their student ID card to ensure that only valid participants can log in and to prevent accounts from being used by other people.
- Camera Surveillance (Webcam Monitoring): Using a webcam to monitor participants during exams. This platform uses AI from Google's Mediapipe to detect several violations, such as other people around the participant, participants using cell phones, and participants disappearing in the middle of the exam.
- Keyboard restrictions: participants are not allowed to use keyboards while taking the exam. This is to prevent the activation of hotkeys for illegal programs.
- Export exam results to Excel and Csv: Admins/lecturers can retrieve exam results in the desired format.
Process
I did not create this platform from scratch, but used a template from CodeCanyon due to time constraints. Even so, I made many changes to the code to suit the needs of the implementing university. Features that I added or changed include a cheating detector and verified participant accounts, as well as several changes to the question creation process, simplification of the question categorization mechanism, and exam reports.
The Problems and How I Deal With It
I encountered quite a few problems while working on this project. The biggest problem was that the questions were grouped too deeply (for example, one question had to be linked to a question type, subcategory, category, and syllabus). I had to change this because the lecturer complained about the system. So I had to change the grouping structure, which resulted in a major overhaul of the database structure and a lot of code changes. Regarding the AI plagiarism detection feature, I had some difficulty selecting a model from MediaPipe that balances accuracy and resource consumption. Additionally, I struggled to prevent cheating, such as the use of illegal programs for plagiarism, since this platform is web-based.
Showcase
- Home Page
- Admin Panel Page
- Lecturer/Student Panel Page
- Instruction Exam Page
- Exam Page
- Finished Exam Page