{"id":5962,"date":"2026-09-11T19:54:18","date_gmt":"2026-09-11T10:54:18","guid":{"rendered":"https:\/\/smilesoftware.org\/?p=5962"},"modified":"2026-09-14T12:55:51","modified_gmt":"2026-09-14T03:55:51","slug":"net%e7%a7%bb%e8%a1%8c%e3%81%a7%e9%81%93%e8%b7%af%e7%ae%a1%e7%90%86%e3%82%b7%e3%82%b9%e3%83%86%e3%83%a0%e3%81%ae%e4%bf%9d%e5%ae%88%e6%80%a7%e3%82%92%e9%ab%98%e3%82%81%e3%81%9f%e3%83%90%e3%83%83","status":"publish","type":"post","link":"https:\/\/smilesoftware.org\/en\/road-management-dotnet-migration\/","title":{"rendered":"A Backend Modernization Case Study: Improving Maintainability of a Road Management System Through Migration to .NET"},"content":{"rendered":"<div class=\"wp-block-group smile-post-content\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\"><header class=\"smile-article-header\"><div><span class=\"smile-category-pill\">Project<\/span><span class=\"smile-date\">2026.09.09<\/span><\/div><h1 class=\"smile-article-title\">A Backend Modernization Case Study: Improving Maintainability of a Road Management System Through Migration to .NET<\/h1><p class=\"smile-excerpt\">This long-running road management system faced declining maintainability, performance limitations, and constraints on future scalability due to its dependence on an aging system platform. In this project, we migrated the core backend, APIs, and business logic to ASP.NET Core (.NET 8), modernizing the system into a robust platform that enables faster maintenance and improvements while fully preserving continuity of existing business operations.<\/p><\/header>\n\n\n<ul style=\"color:#475569;padding-top:var(--wp--preset--spacing--40);padding-bottom:0;font-size:17px\" class=\"wp-block-list smile-bullet-list has-text-color has-link-color wp-elements-dcc54571aa80ff3ecf4b0f6b0a754a4a\">\n<li class=\"ticss-df2dd703 has-text-color has-link-color wp-elements-23f583cc656a3cb513d70a2c65cb3e1b\" style=\"color:#475569;padding-top:0;padding-bottom:var(--wp--preset--spacing--20);font-size:17px\"><strong>Target Area:<\/strong> Backend\/API for the road management system, database integration layer, and common master data<\/li>\n\n\n\n<li class=\"ticss-ba8f3a6f has-text-color has-link-color wp-elements-7ddda3a503e4e1d789344b467132f0c1\" style=\"color:#475569;padding-top:0;padding-bottom:var(--wp--preset--spacing--20);font-size:17px\"><strong>SMILE\u2019s Scope of Support:<\/strong> Analyzing the existing system structure, migrating APIs and business logic, adjusting database access, migrating and validating consistency for 54 shared master data sets, improving performance, and supporting release and migration activities<\/li>\n\n\n\n<li class=\"has-text-color has-link-color wp-elements-a9e07ef7b90473f3cd4ad68121171dd4\" style=\"color:#475569;padding-bottom:var(--wp--preset--spacing--20);font-size:17px\"><strong>Development Period:<\/strong> 4 months<\/li>\n\n\n\n<li class=\"has-text-color has-link-color wp-elements-db2e0042fab3a5989381204957398e54\" style=\"color:#475569;padding-bottom:var(--wp--preset--spacing--20);font-size:17px\"><strong>Team Size:<\/strong> 6 members \/ 24 man-month<\/li>\n\n\n\n<li class=\"ticss-01214a90 has-text-color has-link-color wp-elements-dbdba52a7fa6a2494210b305bb918178\" style=\"color:#475569;padding-bottom:var(--wp--preset--spacing--20);font-size:17px\"><strong>Implementation scale:<\/strong> One Backend\/API area, database integration, and 54 common master data items<\/li>\n\n\n\n<li class=\"ticss-fd8363af has-text-color has-link-color wp-elements-0d31aaa2d08bbaa91ba20bdc2565a004\" style=\"color:#475569;padding-bottom:var(--wp--preset--spacing--20);font-size:17px\"><strong>Result:<\/strong> Completed the migration of core backend functions and all pre-release regression testing. Supported a production release with no business downtime and ensured stable operations.<\/li>\n<\/ul>\n\n\n<nav class=\"smile-toc\" aria-label=\"Table of Contents\"><h2 class=\"smile-toc__title\">Table of Contents<\/h2><div class=\"smile-toc__grid\"><a class=\"smile-toc__item\" href=\"#section-01\"><b class=\"smile-toc__number\">01<\/b><span class=\"smile-toc__label\">Customer Challenges<\/span><\/a><a class=\"smile-toc__item\" href=\"#section-02\"><b class=\"smile-toc__number\">02<\/b><span class=\"smile-toc__label\">Project Objectives<\/span><\/a><a class=\"smile-toc__item\" href=\"#section-03\"><b class=\"smile-toc__number\">03<\/b><span class=\"smile-toc__label\">SMILE\u2019s Scope of Support<\/span><\/a><a class=\"smile-toc__item\" href=\"#section-04\"><b class=\"smile-toc__number\">04<\/b><span class=\"smile-toc__label\">Key Development and Improvement Points<\/span><\/a><a class=\"smile-toc__item\" href=\"#section-05\"><b class=\"smile-toc__number\">05<\/b><span class=\"smile-toc__label\">Technologies Used<\/span><\/a><a class=\"smile-toc__item\" href=\"#section-06\"><b class=\"smile-toc__number\">06<\/b><span class=\"smile-toc__label\">Technical Challenges and How We Addressed Them<\/span><\/a><a class=\"smile-toc__item\" href=\"#section-07\"><b class=\"smile-toc__number\">07<\/b><span class=\"smile-toc__label\">Implementation Benefits<\/span><\/a><a class=\"smile-toc__item\" href=\"#section-08\"><b class=\"smile-toc__number\">08<\/b><span class=\"smile-toc__label\">Key points for an offshore development structure<\/span><\/a><a class=\"smile-toc__item\" href=\"#section-09\"><b class=\"smile-toc__number\">09<\/b><span class=\"smile-toc__label\">Conclusion<\/span><\/a><\/div><\/nav>\n\n\n<div id=\"section-01\" class=\"wp-block-group smile-section\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"smile-section__head\"><div class=\"smile-section__number\">01<\/div><h2 class=\"smile-section__title\">Customer Challenges<\/h2><\/div>\n\n\n<p class=\"ticss-a71bc1b2 wp-block-paragraph\">Although the existing road management system had operated reliably for many years, it was built as a monolithic application on a legacy ASP.NET Web Forms foundation, with business logic tightly coupled to the user interface. As a result, identifying the scope of impact for feature updates or defect investigations was difficult, creating a major obstacle to rapid feature additions and performance improvements in response to regulatory revisions and operational changes.<\/p>\n\n\n\n<p class=\"ticss-3ebcbfd1 wp-block-paragraph\">In addition, 54 shared master data sets and APIs were referenced across multiple subsystems, creating a constant risk that even a small change could affect unexpected functions. To ensure stable operations and support future DX initiatives, it had become essential to gradually migrate to a modern, highly maintainable backend platform without interrupting existing road management operations.<\/p>\n<\/div><\/div>\n\n\n\n<div id=\"section-02\" class=\"wp-block-group smile-section\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"smile-section__head\"><div class=\"smile-section__number\">02<\/div><h2 class=\"smile-section__title\">Project Objectives<\/h2><\/div>\n\n\n<p class=\"ticss-50aadf66 wp-block-paragraph\">The main objective of this project is to migrate the core backend and APIs to the latest .NET 8 platform, which is covered by long-term support (LTS), while maintaining day-to-day road management operations, thereby ensuring scalability and maintainability for the future.<\/p>\n\n\n\n<p class=\"ticss-38f0fd69 wp-block-paragraph\">Our goal was not simply to replace the programming language or framework, but to achieve safe and reliable modernization that fully preserved the complex business logic accumulated over many years, master data integrity, and integration specifications with the front end.<\/p>\n<\/div><\/div>\n\n\n\n<div id=\"section-03\" class=\"wp-block-group smile-section\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"smile-section__head\"><div class=\"smile-section__number\">03<\/div><h2 class=\"smile-section__title\">SMILE\u2019s Scope of Support<\/h2><\/div>\n\n\n<p class=\"ticss-0e9d2f9f wp-block-paragraph\">SMILE handled the entire process end to end, from analyzing the existing system code and implementing the migration to the new architecture through quality verification and production release support. The main scope of work was as follows.<\/p>\n\n\n\n<ul style=\"font-size:16px\" class=\"wp-block-list smile-bullet-list\">\n<li class=\"ticss-8f427d43\" style=\"padding-bottom:var(--wp--preset--spacing--20);font-size:16px\">Structural analysis and reverse engineering of an existing ASP.NET Web Forms system<\/li>\n\n\n\n<li style=\"padding-bottom:var(--wp--preset--spacing--20);font-size:16px\">Migration and redesign of the backend API and core business logic to ASP.NET Core (.NET 8)<\/li>\n\n\n\n<li style=\"padding-bottom:var(--wp--preset--spacing--20);font-size:16px\">Optimization of the data access layer and processing logic to fit the existing database structure<\/li>\n\n\n\n<li style=\"padding-bottom:var(--wp--preset--spacing--20);font-size:16px\">Data migration, CRUD processing, and consistency validation for 54 shared master data sets<\/li>\n\n\n\n<li style=\"padding-bottom:var(--wp--preset--spacing--20);font-size:16px\">Validation of API interface consistency with the React 18-based web frontend<\/li>\n\n\n\n<li style=\"padding-bottom:var(--wp--preset--spacing--20);font-size:16px\">Architecture restructuring with clear separation of responsibilities from the ArcGIS (geographic information system) integration module<\/li>\n\n\n\n<li style=\"padding-bottom:var(--wp--preset--spacing--20);font-size:16px\">Comprehensive regression testing, performance tuning, and production release support<\/li>\n<\/ul>\n<\/div><\/div>\n\n\n\n<div id=\"section-04\" class=\"wp-block-group smile-section\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"smile-section__head\"><div class=\"smile-section__number\">04<\/div><h2 class=\"smile-section__title\">Key Development and Improvement Points<\/h2><\/div>\n\n\n<p class=\"ticss-d2e7ee40 wp-block-paragraph\">Because this was a large-scale business system, we avoided the risks of a full Big Bang replacement and proceeded with a phased migration while visualizing the impact scope by function and API. We carefully analyzed undocumented implicit specifications embedded in the legacy code and accurately migrated them to the new platform.<\/p>\n\n\n\n<p class=\"ticss-e604f709 wp-block-paragraph\">In particular, we conducted a detailed review of the reference relationships between each screen and external process for the 54 shared master data sets that form the foundation of the entire system. Beyond simply passing data between components, we standardized input validation and error handling, creating a structure that maintains compatibility with the existing system while significantly improving future development efficiency.<\/p>\n\n\n\n<p class=\"ticss-a3f7d551 wp-block-paragraph\">SMILE also carefully verified the consistency of API response formats and communication protocols when integrating with the responsive web frontend built with React 18. Through repeated regression testing, we completed the backend modernization without compromising the user experience or responsiveness of the UI.<\/p>\n<\/div><\/div>\n\n\n\n<div id=\"section-05\" class=\"wp-block-group smile-section\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"smile-section__head\"><div class=\"smile-section__number\">05<\/div><h2 class=\"smile-section__title\">Technologies Used<\/h2><\/div>\n\n<div class=\"smile-evidence-panels\"><article class=\"smile-evidence-panel\"><div class=\"smile-evidence-panel__mark\"><span class=\"smile-evidence-panel__icon\" aria-hidden=\"true\"><svg class=\"smile-ui-icon smile-ui-icon--benefit\" viewbox=\"0 0 64 64\" aria-hidden=\"true\" focusable=\"false\" stroke=\"currentColor\"><path d=\"M12 50h40\"\/><path d=\"M18 42V30\"\/><path d=\"M30 42V22\"\/><path d=\"M42 42V14\"\/><path d=\"m38 18 4-4 4 4\"\/><\/svg><\/span><\/div><div class=\"smile-evidence-panel__body\"><h3 class=\"smile-evidence-panel__title\">Frontend integration<\/h3><p>React 18 (responsive web). Ensured compatibility for API request handling from the UI, input validation, and data transfer.<\/p><\/div><\/article><article class=\"smile-evidence-panel\"><div class=\"smile-evidence-panel__mark\"><span class=\"smile-evidence-panel__icon\" aria-hidden=\"true\"><svg class=\"smile-ui-icon smile-ui-icon--operations\" viewbox=\"0 0 64 64\" aria-hidden=\"true\" focusable=\"false\" stroke=\"currentColor\"><circle cx=\"32\" cy=\"32\" r=\"9\"\/><path d=\"M32 8v8\"\/><path d=\"M32 48v8\"\/><path d=\"m15 15 6 6\"\/><path d=\"m43 43 6 6\"\/><path d=\"M8 32h8\"\/><path d=\"M48 32h8\"\/><path d=\"m15 49 6-6\"\/><path d=\"m43 21 6-6\"\/><\/svg><\/span><\/div><div class=\"smile-evidence-panel__body\"><h3 class=\"smile-evidence-panel__title\">Backend<\/h3><p>C# \/ ASP.NET Core (.NET 8). Migrated the core business logic and Web API, incorporating Clean Architecture principles to improve maintainability and testability.<\/p><\/div><\/article><article class=\"smile-evidence-panel\"><div class=\"smile-evidence-panel__mark\"><span class=\"smile-evidence-panel__icon\" aria-hidden=\"true\"><svg class=\"smile-ui-icon smile-ui-icon--data\" viewbox=\"0 0 64 64\" aria-hidden=\"true\" focusable=\"false\" stroke=\"currentColor\"><path d=\"M12 18c0-5 9-9 20-9s20 4 20 9-9 9-20 9-20-4-20-9z\"\/><path d=\"M12 18v14c0 5 9 9 20 9s20-4 20-9V18\"\/><path d=\"M12 32v14c0 5 9 9 20 9s20-4 20-9V32\"\/><\/svg><\/span><\/div><div class=\"smile-evidence-panel__body\"><h3 class=\"smile-evidence-panel__title\">Database<\/h3><p>Continued use of the existing database (RDBMS). Optimized connection and query execution processes while maintaining consistency with existing data assets.<\/p><\/div><\/article><article class=\"smile-evidence-panel\"><div class=\"smile-evidence-panel__mark\"><span class=\"smile-evidence-panel__icon\" aria-hidden=\"true\"><svg class=\"smile-ui-icon smile-ui-icon--climate\" viewbox=\"0 0 64 64\" aria-hidden=\"true\" focusable=\"false\" stroke=\"currentColor\"><path d=\"M18 42c-7 0-12-5-12-11s5-11 12-11c3-8 14-11 22-5 4 3 6 7 6 12 6 1 10 5 10 10 0 6-5 10-11 10H18z\"\/><path d=\"M22 50c4 4 10 4 14 0\"\/><path d=\"M40 50c3 3 8 3 11 0\"\/><\/svg><\/span><\/div><div class=\"smile-evidence-panel__body\"><h3 class=\"smile-evidence-panel__title\">Infrastructure and runtime environment<\/h3><p>On-premises \/ the customer's existing server environment. The configuration was designed to meet security requirements and existing network connectivity conditions.<\/p><\/div><\/article><article class=\"smile-evidence-panel\"><div class=\"smile-evidence-panel__mark\"><span class=\"smile-evidence-panel__icon\" aria-hidden=\"true\"><svg class=\"smile-ui-icon smile-ui-icon--methods\" viewbox=\"0 0 64 64\" aria-hidden=\"true\" focusable=\"false\" stroke=\"currentColor\"><circle cx=\"16\" cy=\"32\" r=\"5\"\/><circle cx=\"48\" cy=\"18\" r=\"5\"\/><circle cx=\"48\" cy=\"46\" r=\"5\"\/><path d=\"M21 32h10\"\/><path d=\"M31 32 43 20\"\/><path d=\"M31 32 43 44\"\/><\/svg><\/span><\/div><div class=\"smile-evidence-panel__body\"><h3 class=\"smile-evidence-panel__title\">Core technologies and methods<\/h3><p>Legacy migration (modernization of ASP.NET Web Forms), API modernization, regression testing, performance tuning, and architectural decoupling (loosely coupled ArcGIS integration).<\/p><\/div><\/article><\/div><\/div><\/div>\n\n\n\n<div id=\"section-06\" class=\"wp-block-group smile-section\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"smile-section__head\"><div class=\"smile-section__number\">06<\/div><h2 class=\"smile-section__title\">Technical Challenges and How We Addressed Them<\/h2><\/div>\n\n\n<p class=\"ticss-6b38ee4f wp-block-paragraph\">The objective was to extract the specifications and rebuild the system into a modern, loosely coupled architecture. In particular, 54 shared master data sets and ArcGIS-related geospatial data processing were deeply intertwined, creating a risk that even minor changes could cause widespread regressions.<\/p>\n\n\n\n<p class=\"ticss-63935d2c wp-block-paragraph\">To address this, SMILE created a functional dependency matrix early in the migration to quantitatively visualize the degree of coupling between APIs and shared master data. Based on this analysis, we clearly separated responsibilities between ArcGIS-dependent map processing and the general road ledger and business management logic, creating a more loosely coupled architecture. In addition, by rigorously applying a validation cycle of unit testing, API integration testing, and regression testing for each migration target, we eliminated potential defects before they could affect existing operations.<\/p>\n\n\n\n<p class=\"ticss-7a004884 wp-block-paragraph\">By reviewing data access processes and optimizing asynchronous processing with async\/await, SMILE eliminated the causes of API response delays and improved processing performance across the entire system.<\/p>\n<\/div><\/div>\n\n\n\n<div id=\"section-07\" class=\"wp-block-group smile-section\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"smile-section__head\"><div class=\"smile-section__number\">07<\/div><h2 class=\"smile-section__title\">Implementation Benefits<\/h2><\/div>\n\n\n<p class=\"ticss-7f54c8de wp-block-paragraph\">Migrating to the latest ASP.NET Core (.NET 8) platform eliminated the black-box nature of the legacy Web Forms foundation and dramatically improved the maintainability and scalability of the road management system.<\/p>\n\n\n\n<p class=\"ticss-2116347a wp-block-paragraph\">Through comprehensive regression testing and phased migration, we completed the transition with zero impact on existing operations and no degradation. This eliminated long-standing concerns around system obsolescence and end-of-support risks, establishing a sustainable development platform that enables future feature enhancements and responses to legal revisions to be delivered quickly and cost-effectively.<\/p>\n<\/div><\/div>\n\n\n\n<div id=\"section-08\" class=\"wp-block-group smile-section\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"smile-section__head\"><div class=\"smile-section__number\">08<\/div><h2 class=\"smile-section__title\">Key points for an offshore development structure<\/h2><\/div>\n\n\n<p class=\"ticss-af8b336e wp-block-paragraph\">The requirements and specification team in Japan worked closely with the development team in Vietnam, executing the project through a carefully designed communication framework. To address the challenges typical of legacy migrations, where past design documentation is often insufficient, the Bridge SE (BrSE) connected business requirements with the results of code analysis. Items requiring confirmation and potential risk factors were quickly visualized in Q&amp;A sheets and impact scope lists.<\/p>\n\n\n\n<p class=\"ticss-d02fdb69 wp-block-paragraph\">To prevent discrepancies in understanding the specifications, we thoroughly prepared technical documentation in both Japanese and Vietnamese and shared test cases at an early stage to align expectations. Although the project was delivered through offshore development, we maintained the optimal balance of quality, speed, and cost, achieving a high-quality delivery on schedule.<\/p>\n<\/div><\/div>\n\n\n\n<div id=\"section-09\" class=\"wp-block-group smile-section\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"smile-section__head\"><div class=\"smile-section__number\">09<\/div><h2 class=\"smile-section__title\">Conclusion<\/h2><\/div>\n\n\n<p class=\"ticss-d7a9bfa5 wp-block-paragraph\">For long-running core business systems, migrating from a legacy platform to a modern framework without interrupting operations is essential to successful corporate DX (digital transformation). In this case, SMILE provided end-to-end support from existing system analysis, API and business logic migration, and DB access adjustments to integrated verification of 54 shared master data sets and regression testing, achieving both stable operations and improved maintainability.<\/p>\n\n\n\n<p class=\"ticss-5f88e6e6 wp-block-paragraph\">SMILE helps customers struggling with black-box legacy systems and technical debt achieve optimal modernization through proven technical expertise and meticulous reverse engineering.<\/p>\n<\/div><\/div>\n\n\n<section class=\"smile-article-cta\"><div class=\"smile-article-cta__label\">SMILE Support<\/div><h2>Start a Consultation on GX and DX Initiatives<\/h2><p>From assessing your current situation to implementing systems and improving operations, we work with you to design an approach that fits your company\u2019s needs.<\/p><ul class=\"smile-list\"><li>We can help clarify issues in your current operations and data.<\/li><li>You can design implementation steps that fit your organization\u2019s structure.<\/li><li>You can continue building a framework that remains easy to operate after implementation.<\/li><li>You can use data to verify results and make ongoing improvements.<\/li><li>You can start exploring AI and IoT applications in the areas where they are most needed.<\/li><\/ul><a class=\"smile-article-cta__button\" href=\"\/en\/contact\/\">Contact us<\/a><\/section><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>\u65e2\u5b58\u306e\u9053\u8def\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0\u306f\u9577\u671f\u306b\u308f\u305f\u308a\u5b89\u5b9a\u7a3c\u50cd\u3092\u7d9a\u3051\u3066\u3044\u305f\u3082\u306e&hellip;&nbsp;<a href=\"https:\/\/smilesoftware.org\/en\/road-management-dotnet-migration\/\" class=\"\" rel=\"bookmark\">Read More &raquo;<span class=\"screen-reader-text\">A Backend Modernization Case Study: Improving Maintainability of a Road Management System Through Migration to .NET<\/span><\/a><\/p>","protected":false},"author":2,"featured_media":5963,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","_price":"","_stock":"","_tribe_ticket_header":"","_tribe_default_ticket_provider":"","_ticket_start_date":"","_ticket_end_date":"","_tribe_ticket_show_description":"","_tribe_ticket_show_not_going":false,"_tribe_ticket_use_global_stock":"","_tribe_ticket_global_stock_level":"","_global_stock_mode":"","_global_stock_cap":"","_tribe_rsvp_for_event":"","_tribe_ticket_going_count":"","_tribe_ticket_not_going_count":"","_tribe_tickets_list":"[]","_tribe_ticket_has_attendee_info_fields":false,"_themeisle_gutenberg_block_has_review":false,"_ti_tpc_template_sync":false,"_ti_tpc_template_id":"","footnotes":""},"categories":[17],"tags":[33,37,35],"class_list":["post-5962","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-project","tag-dx","tag-infrastructure","tag-web-system"],"acf":[],"rttpg_featured_image_url":{"full":["https:\/\/smilesoftware.org\/wp-content\/uploads\/2026\/09\/redmine-1811-featured-5962.png",1672,941,false],"landscape":["https:\/\/smilesoftware.org\/wp-content\/uploads\/2026\/09\/redmine-1811-featured-5962.png",1672,941,false],"portraits":["https:\/\/smilesoftware.org\/wp-content\/uploads\/2026\/09\/redmine-1811-featured-5962.png",1672,941,false],"thumbnail":["https:\/\/smilesoftware.org\/wp-content\/uploads\/2026\/09\/redmine-1811-featured-5962-150x150.png",150,150,true],"medium":["https:\/\/smilesoftware.org\/wp-content\/uploads\/2026\/09\/redmine-1811-featured-5962-300x169.png",300,169,true],"large":["https:\/\/smilesoftware.org\/wp-content\/uploads\/2026\/09\/redmine-1811-featured-5962-1024x576.png",1024,576,true],"1536x1536":["https:\/\/smilesoftware.org\/wp-content\/uploads\/2026\/09\/redmine-1811-featured-5962-1536x864.png",1536,864,true],"2048x2048":["https:\/\/smilesoftware.org\/wp-content\/uploads\/2026\/09\/redmine-1811-featured-5962.png",1672,941,false],"trp-custom-language-flag":["https:\/\/smilesoftware.org\/wp-content\/uploads\/2026\/09\/redmine-1811-featured-5962-18x10.png",18,10,true],"neve-blog":["https:\/\/smilesoftware.org\/wp-content\/uploads\/2026\/09\/redmine-1811-featured-5962-930x620.png",930,620,true]},"rttpg_author":{"display_name":"\u7b20\u539f \u840c","author_link":"https:\/\/smilesoftware.org\/en\/author\/chinh-man\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/smilesoftware.org\/en\/category\/project\/\" rel=\"category tag\">Project<\/a>","rttpg_excerpt":"\u65e2\u5b58\u306e\u9053\u8def\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0\u306f\u9577\u671f\u306b\u308f\u305f\u308a\u5b89\u5b9a\u7a3c\u50cd\u3092\u7d9a\u3051\u3066\u3044\u305f\u3082\u306e&hellip;&nbsp;Read More &&hellip;","_links":{"self":[{"href":"https:\/\/smilesoftware.org\/en\/wp-json\/wp\/v2\/posts\/5962","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/smilesoftware.org\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/smilesoftware.org\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/smilesoftware.org\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/smilesoftware.org\/en\/wp-json\/wp\/v2\/comments?post=5962"}],"version-history":[{"count":14,"href":"https:\/\/smilesoftware.org\/en\/wp-json\/wp\/v2\/posts\/5962\/revisions"}],"predecessor-version":[{"id":6064,"href":"https:\/\/smilesoftware.org\/en\/wp-json\/wp\/v2\/posts\/5962\/revisions\/6064"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/smilesoftware.org\/en\/wp-json\/wp\/v2\/media\/5963"}],"wp:attachment":[{"href":"https:\/\/smilesoftware.org\/en\/wp-json\/wp\/v2\/media?parent=5962"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/smilesoftware.org\/en\/wp-json\/wp\/v2\/categories?post=5962"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/smilesoftware.org\/en\/wp-json\/wp\/v2\/tags?post=5962"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}