Test Bank Converter
Work Projects
Summary
Built and maintained a JavaFX desktop application for converting publisher test banks between formats like DOCX, Moodle XML, plain text, and Excel. Handled complex document parsing challenges including table formatting preservation, an HTML-to-image conversion pipeline, and a question validation system, packaged as a standalone Windows executable with a bundled JRE.
Description
Educational publishers maintain large test banks of assessment questions in various formats, and the process of converting between those formats was manual, error-prone, and time-consuming. A reliable conversion tool was needed to bridge the gap between authoring formats and the platforms where assessments are delivered.
I created and maintained a Java desktop application that imported test banks from formats like DOCX and Moodle XML, parsed them into a structured intermediate representation for cloud storage, and exported them to multiple output formats including plain text, Moodle XML, and Excel. The application handled a range of question types, including multiple choice, essay, and T-account questions, each with their own parsing rules for formatting, answer extraction, and learning objective validation. A question error-checking system flagged issues like missing question bodies or learning objectives before export.
The most technically demanding aspect was faithfully preserving complex formatting during conversion. I built table parsing with multi-level indentation detection, cell justification derived from Word styles, and header border handling. For plain text exports where tables could not be represented natively, I integrated an HTML-to-image conversion pipeline using Html2image to render tables as embedded images. The application included a working book management system with recent selections, a file explorer for working directories, and a general settings view. I packaged the application as a standalone Windows executable using Launch4j with a bundled JRE, eliminating Java installation requirements for end users.
The project grew steadily over several years of active development, reflecting my ability to architect and maintain a desktop application that handles intricate document parsing, format conversion, and cross-platform distribution using JavaFX and Gradle.
Key Highlights
- Import support for DOCX and Moodle XML with export to plain text, Moodle XML, and Excel
- Table parsing with multi-level indentation detection and cell justification from Word styles
- HTML-to-image conversion pipeline for embedding tables in plain text exports
- Question error-checking system flagging missing bodies or learning objectives before export
- Packaged as a standalone Windows executable with Launch4j and a bundled JRE