Files
mrp/ROADMAP.md
2026-03-15 15:04:18 -05:00

299 lines
17 KiB
Markdown

# Roadmap
## Documentation maintenance
- Keep [CHANGELOG.md](D:/CODING/mrp-codex/CHANGELOG.md) updated alongside roadmap-driving feature completion, priority shifts, and notable delivery milestones.
- When roadmap changes affect implementation guidance or deployment expectations, update the companion docs in [README.md](D:/CODING/mrp-codex/README.md), [INSTRUCTIONS.md](D:/CODING/mrp-codex/INSTRUCTIONS.md), [STRUCTURE.md](D:/CODING/mrp-codex/STRUCTURE.md), and [UNRAID.md](D:/CODING/mrp-codex/UNRAID.md) in the same change set.
## Product direction
MRP Codex is being built as a streamlined, modular manufacturing resource planning platform with strong branding controls, fast operational workflows, and a single-container deployment model that is simple to back up and upgrade.
## Current status
### Completed: Foundation release
- Monorepo-style workspace with `client`, `server`, and `shared`
- React + Vite + Tailwind frontend shell
- Express + TypeScript backend shell
- Prisma + SQLite schema foundation with committed initial migration
- Local authentication with JWT-based session flow
- RBAC permission model and protected routes
- Central Company Settings with runtime branding controls
- Light and dark mode theme system
- Local file attachment storage under `/app/data/uploads`
- Puppeteer PDF service foundation with branded company-profile preview
- CRM reference entities for customers and vendors
- CRM customer and vendor create/edit/detail workflows
- CRM search, filters, and persisted status tagging
- CRM contact-history timeline with authored notes, calls, emails, and meetings
- CRM shared file attachments on customer and vendor records, including delete support
- CRM reseller hierarchy, parent-child customer structure, and reseller discount support
- CRM multi-contact records, commercial terms, lifecycle stages, operational flags, and activity rollups
- Inventory item master, BOM, warehouse, and stock-location foundation
- Inventory transactions, on-hand tracking, and item attachments
- Inventory transfers, reservations, available-stock visibility, and work-order-driven material reservation automation
- Sales quotes and sales orders with commercial totals logic
- Purchase orders with vendor lookup, item lines, totals, and quick status actions
- Purchase-order line selection restricted to inventory items flagged as purchasable
- Purchase receiving foundation with warehouse/location posting, receipt history, and per-line received quantity tracking
- Branded sales quote, sales order, and purchase-order PDF templates through the shared Puppeteer pipeline
- Shipping shipment records linked to sales orders
- Packing-slip, shipping-label, and bill-of-lading PDF rendering for shipments
- Logistics attachments directly on shipment records
- Projects foundation with customer, quote, sales-order, shipment, owner, due-date, notes, and attachment linkage
- Project list/detail/create/edit workflows and dashboard program widgets
- Manufacturing foundation with work orders, project linkage, material issue posting, completion posting, and work-order attachments
- Manufacturing stations, item routing templates, and automatic work-order operation planning for gantt scheduling
- Vendor invoice/supporting-document attachments directly on purchase orders
- Vendor-detail purchasing visibility with recent purchase-order activity
- Audit trail coverage across core settings, inventory, purchasing, project, sales, and manufacturing write flows
- Admin diagnostics screen with runtime footprint, record counts, storage-path visibility, and recent audit activity
- Dedicated user-management screen for account creation, activation, role assignment, and role-permission editing
- CRM customer/vendor changes and shipping mutations covered by the shared audit trail
- Startup validation during server boot with checks for storage paths, database connectivity, client bundle readiness, Chromium availability, and risky production defaults
- Backup/restore guidance and exportable support snapshots surfaced through the admin diagnostics workflow
- Route-level frontend code-splitting and vendor chunking to keep the initial client payload lighter
- SKU-searchable BOM component selection for inventory-scale datasets
- Theme persistence fixes and denser responsive workspace layouts
- Full-site density normalization pass across active CRM, inventory, settings, dashboard, and login screens
- Live planning gantt timelines driven by project and manufacturing data
- Multi-stage Docker packaging and migration-aware entrypoint
- Docker image validated locally with successful app startup and login flow
- Core project documentation in `README.md`, `INSTRUCTIONS.md`, and `STRUCTURE.md`
### Current known gaps in the foundation
- Prisma migration execution is committed and documented, but local Windows Node 24 schema-engine behavior remains inconsistent; use Node 22 or Docker for migration execution
- CRM reporting is now functional, but broader account-role depth and downstream document rollups can still evolve later
- The current sales/purchasing/shipping foundation now includes sales approvals and revision history, but still needs vendor exception handling, deeper carrier integration, and richer document comparison tooling
- The dashboard is now live-data driven, but still needs richer KPI widgets, alerts, recent-activity queues, and exception reporting as more transactional depth is added
- The new projects domain is foundational but still needs milestones, project rollups, and deeper inventory/purchasing/manufacturing tie-ins
- The new manufacturing domain is foundational but still needs routings, labor capture, work-center views, and capacity-aware planning tie-ins
## Dashboard Plan
- Keep `Dashboard` as the primary landing surface for operators
- Expand it by modular panels rather than redesigning it for each new feature phase
- Prefer metric cards, exception queues, action shortcuts, and status summaries over static descriptive content
- Add future widgets for purchasing, shipping exceptions, inventory shortages, planning readiness, and audit/system health
- Continue expanding the new project widgets into milestone, blockage, and shipment-readiness views instead of creating a separate landing area
- Continue expanding the new manufacturing widgets into shortage, routing, and bottleneck views instead of creating a separate landing area
- Treat dashboard modules as upgradeable blocks that can be reordered or expanded without disturbing the shell
## Planned feature phases
### Phase 1: CRM and master data hardening
- Better seed/bootstrap strategy for non-development environments
- Additional CRM account-role depth if later sales/purchasing workflows need it
- More derived CRM rollups once quotes, orders, and purchasing documents exist
QOL subfeatures:
- Saved CRM filters and quick views
- Better hierarchy navigation between reseller parents and child accounts
- One-click contact actions for email and phone workflows
- Duplicate-account detection and merge workflow
- Cleaner attachment previews and richer record timelines
- More compact table controls for heavy CRM data-entry users
### Phase 2: Inventory and manufacturing core
- Item master and SKU structure foundation
- Warehouse and stock location foundation
- Inventory transactions and on-hand tracking foundation
- Bills of materials and custom assemblies foundation
- File attachments for BOM drawings and manufacturing support docs foundation
QOL subfeatures:
- Item master enrichment: categories, alternate part numbers, revisions, preferred vendor data, and reorder settings
- Stock transfers between warehouses and locations
- Reservation and allocation visibility against demand
- Faster SKU search and keyboard-heavy item/BOM entry flows refinement
- Better warehouse dashboards for on-hand, shortages, and recent movement
- BOM revision support and clearer where-used visibility
- Bulk item import/export and mass-update utilities
### Phase 3: Sales and purchasing documents
- Quotes, sales orders, and purchase orders
- Reusable line-item and totals model
- Purchase receiving flow tied to purchase-order lines and inventory receipts foundation
- Document states, approvals, and revision history
- Branded PDF templates rendered through Puppeteer
- Attachments for vendor invoices and supporting documents
Foundation slice shipped:
- Sales approval stamps and automatic revision history on quotes and sales orders
- Purchase-order supporting documents through the shared attachment pipeline
- Vendor-detail purchasing visibility for recent purchase-order activity
QOL subfeatures:
- Line duplication, drag ordering, and keyboard-first line editing
- Saved customer defaults for tax, freight, and commercial terms
- Inline stock visibility while building quotes and orders
- Restrict purchase-order item entry to purchasable inventory only
- Richer dashboard widgets for recent quotes, open orders, purchasing queues, and shipping exceptions
- Better totals breakdown visibility on list pages and detail pages
- Revision comparison view for changed customer-facing documents
- Faster document cloning and quote-to-order style conversions across document types
### Phase 4: Shipping and logistics
- Shipment records linked to sales orders
- Bills of lading, packing slips, and shipping BOM PDFs
- Carrier, package, and tracking data
- Outbound shipment status workflow
- Scanned logistics-document attachment handling
QOL subfeatures:
- Printer-friendly reprint and history actions for logistics documents
- Partial shipment workflow and split-shipment visibility
- Better tracking-link UX and carrier-specific shortcuts
- Packing verification and ship-confirm checkpoints
- Shipment search by order, tracking, customer, and carrier from one screen
- Reprint and history actions for generated logistics PDFs
### Phase 5: Projects and program management
Foundation slice shipped:
- Project records with customer linkage, status, owner, priority, due dates, and notes
- Project-to-quote, sales-order, and shipment linkage for delivery context
- Project attachments through the shared file pipeline
- Project list/detail/create/edit flows and dashboard visibility
- Project document hub for drawings, support files, correspondence, and revision references
- Milestones, checkpoints, and non-manufacturing work packages for long-running execution tracking
- Project-level commercial, material, schedule, and delivery rollups
- Cross-functional visibility for engineering, purchasing, manufacturing, shipping, and customer communication
Module interactions:
- CRM: projects link to customer accounts, reseller-owned end customers, contacts, and account notes
- Sales: quotes and sales orders can spawn or attach to projects; project status should reflect commercial state where relevant
- Inventory: projects reference item/BOM scope, expose shortage/reservation pressure, and later roll up material readiness
- Purchasing: projects surface buyout demand and vendor receipts tied to project material needs
- Shipping: shipments should be visible from the project record when a project drives deliverables
- Dashboard: projects add live widgets for active programs, overdue milestones, shortages, and blocked delivery
- Manufacturing: manufacturing orders and shop execution should link back to projects, but remain their own subsystem
- Gantt/planning: project milestones and execution dates should feed planning views without collapsing projects into scheduling alone
QOL subfeatures:
- Project templates for repeatable build types
- Project-specific attachment bundles and revision snapshots
- One-screen project cockpit with commercial, material, schedule, and shipping summary
- Better cross-links between project, customer, order, shipment, and inventory records
- Project filtering by customer, owner, status, due date, and risk
- Project activity timeline and audit-friendly milestone history
### Phase 6: Manufacturing execution
Foundation slice shipped:
- Work orders tied to manufactured or assembly items, with optional project linkage
- BOM-based material requirement visibility from the work-order record
- Material issue posting that creates real inventory issue transactions
- Production completion posting that creates finished-goods receipt transactions
- Work-order list/detail/create/edit flows, attachments, and dashboard visibility
- Work orders tied to projects, sales demand, or internal build demand
- Routing/work-center structure for manufacturing steps and handoffs
- Material issue, consumption, completion, and WIP tracking
- Labor and machine-time capture for production execution
- Manufacturing status workflow from release through completion
- Manufacturing rollups for open work, blockers, shortages, and throughput
Module interactions:
- Projects: manufacturing orders can be attached to projects, but projects remain the higher-level long-running record
- Inventory: manufacturing consumes components and produces finished/semi-finished stock
- Purchasing: shortages and buyout demand should be visible from manufacturing execution
- Shipping: completed manufacturing should feed shipment readiness, but shipping remains separate
- Dashboard: manufacturing adds live queues for open jobs, blocked work, overdue orders, and completion throughput
- Planning: manufacturing orders and routings become a major input into capacity and gantt scheduling
QOL subfeatures:
- Traveler/job packet output
- Partial completions and split-order execution visibility
- Better shortage and substitute-part handling
- Shop-floor quick actions and dense tablet-friendly execution views
- Rework / hold / scrap tracking
- Work-center dashboards and operator-focused queues
### Phase 7: Planning and scheduling
Foundation slice shipped:
- Live gantt schedule backed by active projects and open manufacturing work orders
- Project due-date milestones, manufacturing sequencing links, and standalone work-queue visibility
- Planning exception queue for overdue or at-risk project/manufacturing schedule items
- Live project-backed SVAR gantt timelines
- Task dependencies, milestones, and progress updates
- Manufacturing calendar views and bottleneck visibility
- Labor and machine scheduling support
- Theme-compliant gantt customization for light/dark mode
QOL subfeatures:
- Collapsible schedule groupings and saved planner views
- Drag-and-drop rescheduling improvements
- Critical-path and overdue highlighting
- Capacity warnings for overloaded work centers
- Better mobile and tablet behavior for shop-floor lookups
- Faster filtering by project, customer, work center, and status
### Phase 8: Security, audit, and operations maturity
Foundation slice shipped:
- Audit trail coverage across core write flows for settings, inventory, sales, purchasing, projects, and manufacturing
- Admin diagnostics screen for runtime footprint, storage visibility, key record counts, and recent audit activity
- Expanded role-management UI with account creation, activation, role assignment, and permission administration
- CRM customer/vendor changes and shipping mutations covered by the shared audit trail
- Startup validation during server boot with checks for storage paths, database connectivity, client bundle readiness, Chromium availability, and risky production defaults
- Expanded role management UI
- Permission assignment administration
- Audit trail coverage across critical records
- Backup/restore workflow documentation and scripts
- Health checks, startup diagnostics, and production readiness cleanup
QOL subfeatures:
- Admin diagnostics screen for permissions, migrations, storage, and PDF health
- Safer destructive-action confirmations and recovery messaging
- Better user/session visibility for operational admins
- More explicit environment validation on startup
- Log-view and export helpers for support/debugging
- Backup verification checklist and restore drill guidance
## Revisit / Deferred Items
- Local Windows Prisma migration reliability still needs a cleaner documented workflow or tooling wrapper
- CRM document rollups and broader account-role depth were deferred until more downstream modules exist
- Some generated document and workflow screens still need additional polish for dense, keyboard-efficient operational use
- Dashboard cards now use live data, but richer recent-activity widgets and exception queues are still deferred
## Cross-cutting improvements
- Stronger validation and error reporting across all APIs
- More automated tests for auth, settings, files, PDFs, and workflow modules
- Better mobile behavior in module-level pages
- Ongoing responsive-density tuning for module-level layouts and data-entry screens
- Consistent document-template system shared by sales, purchasing, and shipping
- Clear upgrade path for future module additions without refactoring the app shell
## Near-term priority order
1. Backup verification checklist and restore drill guidance
2. Deeper startup diagnostics and support export helpers