A detailed case study documenting the migration from a two-tier to three-tier architecture by introducing a GraphQL API as a middle layer. The original system had three services (Portal, Admin, and REST API) all directly accessing a shared MySQL database, causing duplicated business logic and technical debt. The solution involved building a centralized GraphQL API using Node.js as a modular monolith, which became the single point of database access. The migration followed a phased approach: building the API first, then gradually migrating each service while maintaining business continuity. This architectural shift eliminated code duplication, modernized the tech stack, enabled full-stack development, and positioned the system for future microservices extraction.
Sort: