QCMMiX.com
View MoreQCMMiX.com
Personal projects /
- Project
- QCMMiX
- Stack
- Symfony, PHP, MySQL
This project is a dynamic exam simulation engine built with Symfony and Twig. It allows users to take and make quizzes on a variety of subjects. It was designed for speed, reliability, and a smooth user experience.
Key Features
Batch Loading and Pre-fetching
Questions are delivered in optimized batches rather than one at a time or all at once. A DOM-based “stack” displays questions instantly while the next batch loads in the background, eliminating navigation lag.
Persistent Progress Saving
An optimistic UI pattern saves each answer via AJAX as the user progresses. Answers are continuously persisted.
Theme System
The UI uses a custom SCSS and CSS variable framework with support for Light, Dark, and Ocean themes. Themes switch instantly.
Results and Review Dashboard
The results page provides a clear score summary and an accordion-style question review using native HTML5 <details> elements for performance and clarity.
State-Aware Navigation
Local frontend state keeps answers visible as users move backward and forward, while remaining synchronized with the backend.
Backend functionalities
In the backend I use custom twig extensions to handle code tags, I have a script to use Gemini to automatically populate a topic with questions with an LLM, some super admin pages to manage the content.
I use session, cookies, webSockets for live chats (might be down since I don’t want to monitor spams) & I added a classic forum too.
Tech Stack
-
Backend: PHP 8, Symfony 6+, Doctrine, MySQL
-
Frontend: JavaScript, jQuery, Twig
-
Styling: SCSS, CSS variables, Webpack Encore
-
Utilities: Highlight.js
- Infrastructure: Hosted on an AWS instance with ubuntu & using Mailgun
Visit at qcmmix.com