How manju1303/research-erp works
Scriptara is a research-publication ERP whose central workflow runs from project intake and lifecycle management through manuscript drafting and QC, journal matching, submission and publication, then financial settlement. The Next.js UI uses a shared API client to reach a NestJS REST backend; shared enums and state machines define domain vocabulary. The README documents automation, reporting, communications, documents and RBAC as additional capabilities. Source excerpts are selective, so links between unsampled services and storage or persistence are not asserted.
Main entry points: main.ts NestJS REST API · api.ts API client · state-machines Domain state machines · page.tsx Dashboard
Components 23
User interface
- Dashboard
apps/frontend/src/app/page.tsx - Project workspace
apps/frontend/src/app/projects/[id]/page.tsx - Manuscript studio
apps/frontend/src/app/manuscripts/[id]/page.tsx - Submission tracker
apps/frontend/src/app/submissions/page.tsx - Finance screen
apps/frontend/src/app/finance/page.tsx - API client
apps/frontend/src/lib/api.ts
Publication lifecycle
- Project lifecycle
apps/backend/src/modules/projects/projects.controller.ts - Manuscript and QC
apps/backend/src/modules/manuscripts/manuscripts.controller.ts - Journal matching
apps/backend/src/modules/journals/journals.controller.ts - Journal submissions
apps/backend/src/modules/submissions/submissions.controller.ts - Publication registry
apps/backend/src/modules/publications/publications.controller.ts
Operations and oversight
- Invoices and payments
apps/backend/src/modules/finance/finance.controller.ts - Task management
apps/backend/src/modules/tasks/tasks.controller.ts - Documents
apps/backend/src/modules/documents/documents.controller.ts - Event automation
apps/backend/src/modules/automation - Reports and dashboard
apps/backend/src/modules/reports/reports.controller.ts - Correspondence
apps/backend/src/modules/communications/communications.controller.ts - Audit trail
apps/backend/src/modules/audit/audit.controller.ts
Backend platform
- NestJS REST API
apps/backend/src/main.ts - Authentication and RBAC
apps/backend/src/modules/auth/auth.controller.ts - Domain state machines
packages/shared/src/state-machines - Relational database
apps/backend/src/database/prisma.service.ts
Other components
- Staff and clients
Connections 23
- Staff and clients → Dashboard: uses
- Staff and clients → Project workspace: manages work
- Staff and clients → Manuscript studio: drafts and reviews
- Staff and clients → Submission tracker: tracks review
- Staff and clients → Finance screen: reviews billing
- Dashboard → API client: requests data
- Project workspace → API client: sends changes
- Manuscript studio → API client: sends changes
- Submission tracker → API client: requests updates
- Finance screen → API client: requests billing
- API client → NestJS REST API: sends REST requests
- NestJS REST API → Project lifecycle: routes requests
- NestJS REST API → Manuscript and QC: routes requests
- NestJS REST API → Journal matching: routes requests
- NestJS REST API → Journal submissions: routes requests
- NestJS REST API → Publication registry: routes requests
- NestJS REST API → Invoices and payments: routes requests
- NestJS REST API → Task management: routes requests
- NestJS REST API → Documents: routes requests
- NestJS REST API → Authentication and RBAC: routes requests
- Project lifecycle → Domain state machines: uses transitions
- Manuscript and QC → Domain state machines: uses transitions
- Task management → Domain state machines: uses transitions