Date: February 4, 2026
Status: ✅ Structural Migration Complete
Three separate repositories have been successfully consolidated into a single monorepo:
nrts-prc-api→nr-acrfd-comments/backend/nrts-prc-admin→nr-acrfd-comments/frontend/admin/nrts-prc-public→nr-acrfd-comments/frontend/public/
From: nrts-prc-api (Express.js Node.js backend)
To: nr-acrfd-comments/backend/
Changes:
- Copied
api/,migrations/,seed/,data_migration/directories - Copied
app.js(Express entry point) anddatabase.json(MongoDB config) - Updated
package.jsonwith Express dependencies (preserved from original) - Replaced
Dockerfilewith Express-compatible multi-stage build - Cleaned up NestJS-specific configs (tsconfig.json, nest-cli.json, etc.)
- Database: MongoDB (unchanged)
Port: 3000
Key Files:
backend/
├── api/ # Controllers, helpers, swagger
├── migrations/ # DB migrations
├── seed/ # Seed data
├── data_migration/ # Data migration scripts
├── app.js # Express server
├── database.json # MongoDB connection config
├── package.json # Dependencies
└── Dockerfile # Multi-stage Docker build
From: nrts-prc-admin (Angular 6 admin portal)
To: nr-acrfd-comments/frontend/admin/
Changes:
- Copied entire Angular project structure
- Preserved all source code, tests, and configuration
- Angular configuration remains intact
- Deploy URL:
/admin/
Port: 4200 (in docker-compose)
From: nrts-prc-public (Angular 6 public portal)
To: nr-acrfd-comments/frontend/public/
Changes:
- Copied entire Angular project structure
- Preserved all source code, tests, and configuration
- Angular configuration remains intact
- Deploy URL:
/(root)
Port: 3000 (in docker-compose)
Changes:
- Replaced PostgreSQL with MongoDB
- Removed Flyway migrations (for MongoDB)
- Configured three main services:
database- MongoDB 7backend- Express APIfrontend-admin- Admin Angular appfrontend-public- Public Angular app
Docker Compose Services:
database: MongoDB (port 27017)
backend: Express API (port 3000)
frontend-admin: Angular admin (port 4200)
frontend-public: Angular public (port 3000)Changes:
- Created comprehensive
README.mdwith:- Monorepo structure explanation
- Quick start guide (Docker Compose)
- Development setup instructions for each component
- CI/CD pipeline overview
- Configuration guide
- Technology stack overview
Status: Workflows from nr-acrfd-comments template are ready to use:
pr-open.yml- Build and test on PRpr-close.yml- Cleanup on PR closepr-validate.yml- PR validationmerge.yml- Deploy to TEST/PRODanalysis.yml- Security scansscheduled.yml- Nightly runs
Note: These workflows are designed for the template's NestJS + React stack. They may need adjustment for the Express + Angular stack.
nr-acrfd-comments/
├── .backup/ # Backups of original template code
│ ├── backend/ # Original NestJS backend
│ └── frontend/ # Original React frontend
│
├── backend/ # Express API (from nrts-prc-api)
│ ├── api/
│ ├── migrations/
│ ├── seed/
│ ├── app.js
│ ├── package.json
│ └── Dockerfile
│
├── frontend/ # Two Angular apps
│ ├── admin/ # From nrts-prc-admin
│ │ ├── src/
│ │ ├── e2e/
│ │ ├── angular.json
│ │ └── package.json
│ │
│ ├── public/ # From nrts-prc-public
│ │ ├── src/
│ │ ├── e2e/
│ │ ├── angular.json
│ │ └── package.json
│ │
│ └── Dockerfile # Multi-app build for both
│
├── charts/ # Kubernetes deployment (Helm)
├── migrations/ # SQL migrations (for reference)
├── docker-compose.yml # Local development setup
├── README.md # Comprehensive documentation
└── .github/workflows/ # CI/CD pipeline
MONGODB_SERVICE_HOST=localhost
MONGODB_USERNAME=admin
MONGODB_PASSWORD=nrts-dev
MONGODB_DATABASE=nrts-dev
API_HOSTNAME=localhost:3000
NODE_ENV=development
UPLOAD_DIRECTORY=./uploads/MONGO_INITDB_ROOT_USERNAME=admin
MONGO_INITDB_ROOT_PASSWORD=nrts-dev
MONGO_INITDB_DATABASE=nrts-dev-
GitHub Actions Workflows
- Current workflows are designed for NestJS + React
- May need adjustment for Express + Angular setup
- Build matrix and paths may need tuning
-
Helm Charts
charts/app/may need updating for Express backend- Database configuration (still references PostgreSQL in some places)
- May need to update service definitions
-
Frontend Dockerfile
- Currently builds both Angular apps but serves them on different ports
- May need refinement for production deployment
-
Root Configuration Files
- ESLint, Prettier configs may need adjustment for mixed Angular + Express codebase
- Consider creating separate configs for backend and frontend
-
Test docker-compose locally
cd nr-acrfd-comments docker-compose upVerify all services start and applications are accessible
-
Update GitHub Actions workflows
- Modify
.github/workflows/to work with Express backend - Update build matrix to reference correct paths
- Adjust test commands
- Modify
-
Update Helm charts
- Verify
charts/app/works with Express backend - Update service definitions if needed
- Test deployment to OpenShift
- Verify
-
Install dependencies locally
cd backend && npm install cd ../frontend/admin && npm install cd ../frontend/public && npm install
-
Verify applications build
# Backend cd backend && npm run build # Admin frontend cd frontend/admin && npm run build # Public frontend cd frontend/public && npm run build
-
Run tests
cd backend && npm run tests cd ../frontend/admin && npm run tests cd ../frontend/public && npm run tests
- Consider technology consolidation (optional future work)
- Migrate to React (would require rewriting Angular apps)
- Migrate to PostgreSQL (optional, MongoDB works fine)
- Upgrade dependencies
Original template code has been backed up to:
.backup/backend/- Original NestJS backend.backup/frontend/- Original React frontend
These can be referenced if needed to restore any template patterns or configurations.
backend/package.json- Updated with Express dependenciesbackend/Dockerfile- Changed to Express multi-stage buildbackend/tsconfig.json- Simplified for Express/JavaScriptfrontend/Dockerfile- Updated to build both Angular appsdocker-compose.yml- Replaced PostgreSQL with MongoDBREADME.md- Complete rewrite with monorepo documentation
backend/nest-cli.json- NestJS specificbackend/tsconfig.build.json- NestJS specificbackend/vitest.config.mts- NestJS/Vitest specificbackend/prisma.config.ts- NestJS/Prisma specificbackend/src/- NestJS source codebackend/test/- NestJS testsfrontend/{original src, e2e, config files}- Replaced with admin/public structure
- Backend code copied and configured
- Admin frontend copied and configured
- Public frontend copied and configured
- docker-compose.yml updated for MongoDB
- README documentation created
- Directory structure organized
- Unnecessary config files removed
- Docker-compose tested locally
- All dependencies install correctly
- Applications build successfully
- Tests run successfully
- GitHub Actions workflows updated
- Helm charts verified
- Applications deploy to OpenShift
For questions about this migration:
- Refer to the comprehensive
README.md - Check original repository documentation:
- Consult the template documentation: