How farisifakhri/lpmqtashihhub works
This is a LPMQ service-management portal for publishers and internal staff. Publishers submit service registrations and documents; staff handle physical intake, verification and approval, payment checks, distribution and subsequent tashih/documentation work. The React portal calls an Express API whose services implement domain operations and persist state through Prisma/MySQL, with private file storage for uploads. The README documents the full SOP capabilities; sampled source confirms key verification, payment, distribution and file-handling links. Some UI-to-endpoint and later-stage wiring is inferred only from module names, so those links are kept broad or omitted.
Main entry points: App.jsx LPMQ portal · client.js API client · workflow.routes.js Workflow routes · verification.routes.js Verification routes
Components 29
User portal
- LPMQ portal
frontend/src/app/App.jsx - Login and roles
frontend/src/features/auth/AuthContext.jsx - Registration portal
frontend/src/features/registrations/PublisherRegistrationsPage.jsx - Verification workspace
frontend/src/features/verification/VerificationInspectionPage.jsx - Distribution workspace
frontend/src/features/distribution/DistributorHandoverInboxPage.jsx - Pentashih workspace
frontend/src/features/tashih/PentashihWorkspacePage.jsx - Signature center
frontend/src/features/signatures/SignatureCenterPage.jsx - API client
frontend/src/api/client.js
Intake and verification
- Registration routes
backend/src/routes/registration.routes.js - Verification routes
backend/src/routes/verification.routes.js - Registration service
backend/src/services/registration.service.js - Physical intake
backend/src/services/verification-intake.service.js - Verification review
backend/src/services/verification-review.service.js - Digital signing
backend/src/services/verification-signing.service.js
Payment and fulfillment
- Workflow routes
backend/src/routes/workflow.routes.js - Payment service
backend/src/services/payment.service.js - Distribution service
backend/src/services/distribution.service.js - Official documents
backend/src/services/official-document.service.js
API and platform
- API router
backend/src/routes/index.js - Authentication routes
backend/src/routes/auth.routes.js - Notifications
backend/src/services/notification.service.js - SLA monitoring
backend/src/services/sla.service.js - Private file storage
backend/src/services/storage.service.js - Express API
backend/src/app.js - MySQL database
backend/src/config/database.js
Other components
- Publishers
- Internal staff
- Email provider
- External systems
Connections 36
- Publishers → LPMQ portal: use portal
- Internal staff → LPMQ portal: use portal
- LPMQ portal → Login and roles: provides session
- LPMQ portal → Registration portal: routes users
- LPMQ portal → Verification workspace: routes staff
- LPMQ portal → Distribution workspace: routes staff
- LPMQ portal → Pentashih workspace: routes staff
- LPMQ portal → Signature center: routes staff
- Registration portal → API client: requests data
- Verification workspace → API client: requests data
- Distribution workspace → API client: requests data
- Pentashih workspace → API client: requests data
- Signature center → API client: requests data
- Login and roles → API client: authenticates
- API client → Express API: HTTP requests
- Express API → API router: mounts API
- API router → Authentication routes: dispatches
- API router → Registration routes: dispatches
- API router → Verification routes: dispatches
- API router → Workflow routes: dispatches
- Registration routes → Registration service: invokes
- Verification routes → Physical intake: invokes
- Verification routes → Verification review: invokes
- Verification routes → Digital signing: invokes
- Verification routes → Private file storage: reads files
- Workflow routes → Payment service: invokes
- Workflow routes → Distribution service: invokes
- Workflow routes → Official documents: invokes
- Workflow routes → Notifications: invokes
- Workflow routes → Private file storage: uploads files
- Express API → MySQL database: uses Prisma
- Private file storage → MySQL database: records metadata
- Verification review → MySQL database: updates workflow
- Express API → SLA monitoring: checks overdue work
- Notifications → Email provider: sends messages
- Express API → External systems: syncs status