TL;DR
- Problem
- Academic journals must run a rigorous multi-role editorial pipeline and emit strict scholarly metadata for indexing, all while keeping the public reading experience fast and distraction-free.
- Built
- Built a Node.js/Express and MySQL backend with JWT-secured RBAC and a Socket.io notification layer driving the full submission-to-publication workflow, paired with a Vite/React frontend that prerenders Google Scholar metadata for discoverability.
- Result
- 55+ api endpoints · 5 (RBAC) user roles
01The problem
Build a production-grade journal platform that drives the full manuscript lifecycle, submission, double-blind peer review, editorial decisions, and DOI publication, while staying discoverable to academic search engines.
Academic journals must run a rigorous multi-role editorial pipeline and emit strict scholarly metadata for indexing, all while keeping the public reading experience fast and distraction-free.
02What I built
Built a Node.js/Express and MySQL backend with JWT-secured RBAC and a Socket.io notification layer driving the full submission-to-publication workflow, paired with a Vite/React frontend that prerenders Google Scholar metadata for discoverability.
- Role-based access control across five roles (visitor, author, reviewer, editor, admin), enforced by granular middleware down to per-paper ownership and reviewer-assignment checks
- JWT authentication with refresh tokens, bcrypt password hashing, email verification, and password reset, hardened with Helmet, rate limiting, and server-side request validation
- Complete double-blind peer-review workflow: manuscript submission, reviewer invitations via tokenized email links, autosaved review drafts, editorial decisions, and versioned revision tracking
- Real-time notifications over Socket.io alongside transactional email (Nodemailer) for paper status changes, new submissions, and review invitations
- 55+ RESTful endpoints over a 13-table relational MySQL schema, with Multer file uploads, PDF/DOCX parsing, DOI assignment on publish, and view/download metrics
- SEO-first React frontend with Google Scholar prerendering and structured metadata to rank research content in academic search
03The hard part
Access is enforced down to per-paper ownership and reviewer assignment, not just by role.
04Results
- API Endpoints
- 55+
- User Roles
- 5 (RBAC)
- Status
- Live
05Stack
- React
- Vite
- Node.js
- Express
- MySQL
- JWT
- Socket.io
- Nodemailer
- Tailwind CSS
