Skip to content

Latest commit

 

History

History
26 lines (18 loc) · 2.58 KB

File metadata and controls

26 lines (18 loc) · 2.58 KB

AI Agents - Development: Usage and Benefits Report (Requirement 12)

This project was developed with the assistance of integrated AI coding agents (Gemini / Claude), utilized strictly as a secondary Pair Programming tool to accelerate development. The core architecture, business logic, and major design decisions were manually crafted, while the AI was leveraged to automate repetitive tasks, generate boilerplate code, and assist in debugging complex configuration issues.

1. Main Use Cases

A. Boilerplate and Configuration Assistance

  • Microservices Setup: The AI was used to quickly generate the baseline boilerplate for Spring Cloud components (e.g., standard pom.xml dependencies for Eureka and Config Server).
  • Resilience4j Tuning: While the fallback logic was manually designed, the AI provided guidance on optimal configuration values (timeouts, sliding window size) for the Circuit Breaker pattern.

B. UI/UX and Validation

  • Regex Generation: Writing complex regular expressions for client-side HTML5 validation (e.g., strict phone number and password patterns) was delegated to the AI to save time.
  • CSS Troubleshooting: Used the assistant to quickly fix minor CSS alignment issues and suggest modern color palettes for the Thymeleaf templates.

C. Automated Debugging Support

  • Database Query Debugging: When encountering a Spring Data JPA limitation regarding ORDER BY in sub-queries, the AI was used to analyze the Hibernate stack trace, significantly reducing the time spent searching through documentation.
  • Docker Orchestration: The AI assisted in standardizing the Dockerfile format across all microservices, ensuring they were optimized for the Alpine Java runtime.

D. Test Generation Acceleration

  • Unit Test Scaffolding: To meet the >70% Code Coverage requirement, the AI acted as an advanced autocomplete tool, generating the repetitive structure of JUnit 5 and Mockito tests. The actual assertions and mock behaviors were then manually reviewed and adjusted.

2. Concrete Benefits Obtained

  1. Efficiency: Delegating repetitive tasks (like writing dozens of getter/setter tests or DTO mapping tests) allowed more time to focus on complex business logic such as the CQRS pattern and secure checkout flow.
  2. Rapid Prototyping: The AI enabled faster setup of the initial microservices infrastructure, allowing for quicker iteration on the core store functionalities.
  3. Targeted Learning: Using the AI to explain specific Spring Security filter chain errors provided immediate, contextual learning without having to scour external forums.