Back to Projects

Test Bank Converter

Work Projects

JavaJavaFX

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
Back to Projects