2026-03-14 15:36:03 -05:00
2026-03-14 14:44:40 -05:00
2026-03-14 15:36:03 -05:00
2026-03-14 15:28:30 -05:00
2026-03-14 14:44:40 -05:00
2026-03-14 14:44:40 -05:00
2026-03-14 14:44:40 -05:00
2026-03-14 15:23:38 -05:00
npm
2026-03-14 15:33:36 -05:00
2026-03-14 14:44:40 -05:00
2026-03-14 15:02:17 -05:00
2026-03-14 14:54:54 -05:00
2026-03-14 14:44:40 -05:00
2026-03-14 14:54:54 -05:00

MRP Codex

Foundation release for a modular Manufacturing Resource Planning platform built with React, Express, Prisma, SQLite, and a single-container Docker deployment.

Workspace

  • client: React, Vite, Tailwind frontend
  • server: Express API, Prisma, auth/RBAC, file storage, PDF rendering
  • shared: shared TypeScript contracts and constants

Local development

  1. Use Node.js 22 for local development if you want Prisma migration commands to behave the same way as Docker.
  2. Install dependencies with npm.cmd install.
  3. Copy .env.example to .env and adjust values if needed.
  4. Generate Prisma client with npm run prisma:generate.
  5. Apply committed migrations with npm run prisma:deploy.
  6. Start the workspace with npm run dev.

The frontend runs through Vite in development and is served statically by the API in production.

Seeded admin credentials for first login:

  • email: admin@mrp.local
  • password: ChangeMe123!

Docker

Build and run:

docker build -t mrp-codex .
docker run -p 3000:3000 -v mrp_data:/app/data mrp-codex

Command-line build notes:

  • The Dockerfile is intended to be built directly from the repo root with docker build
  • puppeteer browser download is disabled during image build because the runtime image installs system Chromium
  • You can override the Node base image version if needed:
docker build --build-arg NODE_VERSION=22 -t mrp-codex .

The container startup script runs npx prisma migrate deploy automatically before launching the server.

Persistence and backup

  • SQLite database path: /app/data/prisma/app.db
  • Uploaded files: /app/data/uploads
  • Backup the entire mounted /app/data volume to preserve both records and attachments.

Branding

Brand colors and typography are configured through the Company Settings page and the frontend theme token layer. Update runtime branding in-app, or adjust defaults in the theme config if you need a new baseline brand.

Migrations

  • Create a local migration: npm run prisma:migrate
  • Apply committed migrations in production: npm run prisma:deploy
  • If Prisma migration commands fail on a local Node 24 Windows environment, use Node 22 or Docker for migration execution. The committed migration files in server/prisma/migrations remain the source of truth.

PDF generation

Puppeteer is used by the backend to render HTML templates into professional PDFs. The Docker image includes Chromium runtime dependencies required for headless execution.

Description
No description provided
Readme 3.9 MiB
Languages
TypeScript 99.3%
JavaScript 0.3%
CSS 0.2%
Dockerfile 0.2%