CMSX - A Modernization of CMS

Client Name
National Center for State Courts (NCSC)
Full Address: 300 Newport Avenue, Williamsburg, Virginia
Project Description
reUrgency, LLC undertook the modernization and refactoring of the existing Court Case Management System (CCMS) for the National Center for State Courts (NCSC). The project aimed to resolve longstanding issues related to security vulnerabilities, performance bottlenecks, and the maintainability of the current codebase. The upgrade included adopting modern coding practices and design patterns, resulting in a scalable, secure, performant, and maintainable system for managing court cases.
Period of Contract
Although the project continues with feature enhancements, the core project was developed from Sep 2022 through May 2023. It is used by several consortium countries as their court case management system.
Approach to the Project Including Work Package Strategy and Evaluation
Approach / Work Packages
- Initial Assessment: An in-depth evaluation of the existing CCMS was conducted to identify security flaws, performance issues, and architectural weaknesses.
- Front-End Refactor: The upgrade involved moving from Angular 5 to Angular 16 by creating a new application and migrating app components, eliminating the need for nine incremental upgrades. This approach improved maintainability and compatibility with modern third-party libraries.
- Back-End Refactor: Java version 8 will be replaced with a modern NodeJS based api server with emphasis on reducing bloat, increasing performance and catering to developer pool. NestJS was selected for its community support and its similar program paradigm to Angular.
- Database: MySql will be replaced with Postgres database that has shown to be the preferred open source db.
- Agile Project Management: The project followed a "true" Agile Development process to ensure consistent progress tracking and high-quality deliverables. This included sprint planning, user story refinement, and continuous quality assurance.
Regulatory and/or Legal Environment or Constraints
The system needed to comply with relevant legal and data security regulations governing court operations in several international countries.
Complexities of the Project and How They Were Overcome
Complexities
- Security Risks: The outdated codebase had numerous security vulnerabilities. This was mitigated by upgrading to modern, secure versions of front and back ends and applying Snyk-recommended dependency updates.
- Performance Bottlenecks: The legacy system's poor design limited scalability. Performance was enhanced through the use of a faster NodeJS based API.
- Incremental Front-End Upgrades: Instead of migrating incrementally across nine Angular versions, a new Angular 15 app was developed, avoiding extensive compatibility issues.
- Complex Codebase: Large, unmanageable components were broken down into smaller, modular units to improve code maintainability.
Resource Management to Achieve Best Value for Money
Resource Strategy
- Lean Team Allocation: The project utilized a focused team of one Frontend Engineer, one Backend Engineer, and one Quality Assurance Analyst, each committing 15-40 hours per week each.
- Agile Methodology: True Agile practices, including sprints, story refinement, and regular assessments, allowed for precise milestone tracking, reducing development costs and enhancing product quality.
- Feature Flags: Used to enable or disable specific features during development, saving time and allowing for efficient customization across different court types.
Project Outcome
The CMSX refactor delivered:
- Enhanced Security: Modernized front-end and back-end frameworks eliminated legacy security risks.
- Improved Performance and Scalability: Optimized system architecture resulted in significant performance gains and reduced operational costs.
- Reduced Maintenance Costs: The new, modern codebase simplified maintenance and future upgrades.
- User-Friendly Interface: A revamped user interface improved user experience and system usability for court staff.
- Lower Operational Costs: Reduced hardware resource requirements for the backend led to cost savings.
Conclusion
This case study highlights reUrgency, LLC's ability to modernize complex, legacy court case management systems while addressing critical security and performance challenges, ultimately delivering a robust and efficient solution tailored to the needs of NCSC.