personal Featured

CodeReview Lens

AI-powered code review mentoring tool generating Socratic questions from GitHub PR diffs to guide developer learning through self-reflection

Java 21 Spring Boot 3.3 PostgreSQL 16 Redis 7 Docker GitHub Actions Testcontainers

Project Overview

AI-powered code review mentoring tool generating Socratic questions from GitHub PR diffs to guide developer learning through self-reflection

Key Features

GitHub PR Integration

Seamless pull request diff extraction and automated analysis workflow

Socratic Questioning

AI-powered question generation that promotes critical thinking over direct corrections

Async Job Processing

Non-blocking analysis jobs with Redis-backed queue for scalable PR processing

Java 21 Virtual Threads

Modern concurrency with virtual threads for efficient resource utilization under load

Testcontainers Integration

Realistic integration testing with PostgreSQL and Redis in Docker containers

Clean Architecture

Well-separated layers with domain entities, repositories, services, and REST controllers

Impact & Highlights

Learning-Focused Design

Guides developers through self-reflection rather than spoon-feeding answers

Production-Ready Stack

Spring Boot 3.3, PostgreSQL 16, Redis 7 with comprehensive error handling

CI/CD Pipeline

GitHub Actions with automated testing and Docker Compose for consistent deployments

README.md
README.md

Project Overview

CodeReview Lens is an AI-powered mentoring tool designed to help developers improve their code through guided learning. Rather than providing direct corrections, it generates Socratic questions from GitHub PR diffs, helping developers learn through guided self-reflection.

Architecture

Clean modular architecture with modern Java best practices:

Data Flow: GitHub PR diffs → CodeReview Lens API → AI Model (future) → Socratic Questions

Modules

  • Configuration: Application setup and dependency injection
  • REST Controllers: API endpoints for PR submission and job status
  • Domain Entities: Core business objects
  • Data Repositories: Database access layer
  • Business Services:
    • GitHub integration
    • Diff parsing
    • Async analysis processing
  • Error Handling: Comprehensive exception management

Key Features

GitHub Integration

  • Pull request diff extraction
  • Automated PR analysis workflow
  • Async job processing for scalability

Socratic Learning Approach

  • Question generation instead of direct corrections
  • Promotes developer critical thinking
  • Encourages self-guided improvement

Modern Java Stack

  • Java 21 with virtual threads for efficient concurrency
  • Spring Boot 3.3 for rapid development
  • Redis caching for performance optimization

Technical Implementation

Technologies Used

  • Java 21: Latest LTS with virtual threads
  • Spring Boot 3.3: Modern framework for REST APIs
  • PostgreSQL 16: Primary database
  • Redis 7: Caching layer
  • Gradle: Build automation
  • Docker Compose: Local development environment
  • GitHub Actions: CI/CD pipeline
  • Testcontainers: Integration testing

API Endpoints

  • POST /analyze: Submit PR for analysis
  • GET /status/{jobId}: Check analysis job status

Architecture Highlights

  1. Async Processing: Non-blocking analysis jobs for better scalability
  2. Clean Separation: Well-defined layers for maintainability
  3. Integration Testing: Testcontainers for realistic test scenarios
  4. Caching Strategy: Redis for frequently accessed data
  5. Modern Concurrency: Virtual threads for efficient resource utilization

Future Enhancements

  • AI model integration for question generation
  • Support for multiple programming languages
  • Team analytics and learning metrics
  • Integration with popular code review platforms