About the Project
Built at iKomet Technology Solutions as part of Flowskoler — a full-stack publishing workflow platform — this module gives editorial teams a visual canvas to define their own review pipelines without any engineering involvement. Each stage is independently assignable with configurable routing conditions and TAT deadlines.
PDF generation is offloaded asynchronously via a durable RabbitMQ queue — decoupling the Express API from the PDF rendering service and allowing the UI to poll status independently while the job is processed in the background.
Extended the platform with an Issue Collation module — a TypeScript five-step wizard where editors aggregate articles by journal acronym, configure dynamic front and back matter via JSON-driven form schemas, and trigger PDF generation through a multi-stage approval workflow.
Added a Supporting File Validation pipeline as a dedicated background process — a RabbitMQ consumer calls the file server to validate figures and equations against the HTML source, writes the validation results back to the workobject, and routes to either the next stage or a recoverable error state where editors upload corrections and trigger revalidation.
Introduced external reviewer access without requiring system accounts — when the workflow reaches an external step, a UUID token is generated, a branded HTML email is dispatched via Nodemailer, and the reviewer lands on a secure page to download the proof, upload revised files to MinIO object storage, and submit structured feedback. Each round snapshots the proof PDF to MinIO for a versioned audit trail. A scheduled job triggers TAT-based reminders at 40% and 80% of the deadline window, with auto-advance on expiry.
Claude (Anthropic) was used as a productivity aid throughout development — accelerating boilerplate, debugging complex flows, and thinking through architectural decisions. All features were designed, implemented, and owned end-to-end.