Kotlin syntax & coding constraints for the backend service: treat Kotlin as Java
syntax sugar, not as a new paradigm. Bans !! / lateinit / coroutines / RxJava /
Reactor, data-class entities, and XxxUtils|Util|Helper|Common classes — each rule
states the concrete failure it prevents.
Also records the Gradle two-sided version constraint in 01-project-structure.md:
the Boot 4.1 plugin needs 8.14+ or 9.x while KGP 2.4.10 tops out at 9.5.0, so
bumping either side means recomputing the intersection.
Skeleton follows the existing convention (## 决策 first, then 使用规则, topic
sections, ending with a 为什么不选另一个方案 comparison table).
Co-Authored-By: Claude Code <noreply@anthropic.com>
- Updated the crash reporting section to clarify the integration of Bugly and sensors analytics.
- Revised the logging rules to ensure sensitive data is scrubbed before logging.
- Enhanced the session management guidelines to ensure user context is correctly set during login and logout processes.
- Consolidated the analytics event tracking strategy, emphasizing backend-driven event logging.
- Removed references to third-party SDKs for crash reporting and analytics, focusing on internal logging mechanisms.
- Enhanced README to clarify native integration methods for Android/iOS and OHOS.
- Updated project structure documentation to reflect changes in native capabilities and dependencies.
- Revised native integration documentation to specify transport methods for Android/iOS and OHOS.
- Documented the current implementation strategy for OHOS, emphasizing the use of MethodChannel for ArkTS.
- Adjusted SDK versioning notes to clarify the separation between Android/iOS and OHOS SDKs.
- Revised the README.md to clarify the purpose of the tech-selection documents, distinguishing between external and internal materials.
- Added a new internal document, Flutter-vs-UniApp-Speaker.md, summarizing key points from the presentation deck.
- Updated Flutter-vs-UniApp-deck.standalone.html to enhance descriptions of HarmonyOS support and installation package sizes.
- Added multiple PNG images to the mini-program images directory under ROOS, including various themed images.
- Introduced new warranty-related images, enhancing the visual content for warranty information.
- All images are newly created and have been added with appropriate file permissions.
- Added multiple PNG images to the O2O directory, enhancing visual content.
- Included new images for the ROOS section, improving user engagement.
- Updated warranty-related images to provide clearer information.
- Ensured all new images are properly indexed and accessible within the application.
- Added multiple PNG images to the mini-program-images/O2O directory.
- Introduced new PNG images to the mini-program-images/ROOS directory.
- Included various PNG images in the mini-program-images/Warranty directory.
- All new images are added with appropriate file permissions.
- Introduced a new section on cross-domain collaboration and aggregation, detailing decision-making processes, contract module usage for cross-domain reads, and domain events for writes.
- Added guidelines for parallel aggregation using a dedicated thread pool and context propagation.
- Established rules for transaction boundaries, idempotency, optimistic locking, scheduled tasks, and caching strategies in a concurrent environment.
- Included examples and best practices for implementing these concepts in the application.
- Introduced a new document outlining SDK version locking, static analysis, formatting, generated artifacts management, branching and commit conventions, and CI gate checks.
- Updated README to include the new conventions document.
- Modified API design to use numeric error codes instead of strings, with a dedicated ErrorCode object for better maintainability.
- Adjusted global exception handling to return numeric error codes.
- Updated tests to reflect changes in error code handling.
- Added object naming conventions (PO/DAO/BO/DTO/VO) in 02-layering.md to clarify terminology and usage within the team.
- Updated 06-api-design.md to include MapStruct for DTO and entity conversion, providing examples and configuration details.
- Expanded 07-config-governance.md with local development instructions and strategies for running without K8s, including two recommended approaches.
- Included K8s probe configuration details in 08-observability.md for liveness and readiness checks.
- Clarified CI/CD processes in 09-build-deploy.md, detailing environment distinctions and deployment strategies for local, Dev, UAT, and Prod.
- Introduced ArchUnit for architectural testing in 10-testing.md, ensuring adherence to defined layering rules and coverage verification with Jacoco.
- Introduced integration layer design with Resilience4j for external vendor calls.
- Established API design standards with unified response structures and global exception handling.
- Defined configuration and service governance using Kubernetes native solutions.
- Implemented observability practices including trace ID propagation and structured logging.
- Outlined build and multi-environment deployment strategies using Gradle and GitLab CI/CD.
- Specified testing strategies across different layers, utilizing JUnit, MockK, Testcontainers, and WireMock.