LiveIndustry-Specific

PrimalJournals

Journals: submit → review → pay → publish.

PrimalJournals interface

The Problem

Many publisher portals are ugly and slow. PrimalJournals runs the full path from submission through peer review and APCs, split into services so one broken piece doesn't take down the rest.

Architecture

Angular frontend with server-side rendering

9 independent Node.js microservices

Redis-backed job queues for async processing

API Gateway with Nginx reverse proxy

CrossRef integration for DOI registration

Engineering Decisions

Why nine services?

Manuscripts, reviews, payments, mail, and notifications don't share the same failure modes or deploy cadence. Splitting them keeps outages contained and deploys smaller.

Highlights

Peer review workflowPDF letterhead generationAPC paymentsMathJax for equations

Stack

AngularNode.jsRedisMongoDBNginxCrossRefMathJax