Project Detail
ZQL Studio
ZQL Studio — Side Project
복잡한 환경 설정 없이 브라우저에서 바로 SQL을 작성하고, AI 튜터와 함께 실행 계획을 분석하며 성장하는 Interactive Learning 환경을 제공합니다.
- Client-side GenAI Integration
- React + Vite 고성능 대시보드
- Spring Boot DDD Architecture
- Radix UI 디자인 시스템
Google Gemini 3.0 Pro가 탑재된 실시간 SQL 튜터링 플랫폼입니다. 별도의 서버 통신 없는 Client-side AI 분석으로 즉각적인 피드백과 쿼리 최적화 가이드를 제공합니다.
실시간 AI 튜터
Google Gemini 3.0 Pro 모델을 클라이언트에 직접 연동하여, 서버 대기 시간 없이 즉각적으로 SQL 문법 오류와 논리적 결함을 분석합니다.
인터랙티브 SQL 에디터
구문 강조(Syntax Highlighting)와 다중 데이터베이스(MySQL, PostgreSQL) 모드를 지원하는 직관적인 웹 기반 쿼리 편집 환경을 제공합니다.
엔터프라이즈 백엔드
Java 21 및 Spring Boot 기반의 멀티 모듈 아키텍처(DDD)로 확장성과 유지보수성을 고려한 견고한 서버 시스템을 구축했습니다.
프로젝트 개요
서비스 목표
역할과 범위
- Full Stack Development: 프론트엔드(React)부터 백엔드(Spring Boot)까지 전 과정 1인 개발
- AI Integration: Google Gemini API를 활용한 클라이언트 사이드 튜터링 로직 설계 및 구현
- System Architecture: 확장성을 고려한 백엔드 멀티 모듈 구성 및 프론트엔드 컴포넌트 시스템 설계
핵심 기술적 도전 및 구현 (Technical Deep Dive)
1. Client-Side AI Orchestration (Serverless AI)
- Zero-Latency: 사용자의 브라우저에서 직접 Gemini API를 호출하여, 네트워크 홉(Hop)을 최소화하고 즉각적인 피드백을 제공합니다.
- Context Management: 데이터베이스 스키마(Schema) 정보와 사용자의 쿼리(Query)를 프롬프트 컨텍스트에 효율적으로 주입하여, AI가 마치 실제 DB 구조를 아는 것처럼 정확한 답변을 생성하도록 유도했습니다.
- Security: (Note: 프로덕션 환경에서는 Proxy 서버를 통한 호출로 전환 예정이나, 현재 데모 단계에서는 빠른 프로토타이핑을 위해 클라이언트 직접 호출 방식을 채택했습니다.)
1// AiTutorView.tsx (Simplified) 2const genAI = new GoogleGenAI({ apiKey }); 3const model = genAI.getGenerativeModel({ model: "gemini-3-pro-preview" }); 4 5const prompt = ` 6 Context: ${schemaContext} 7 User Query: ${userQuery} 8 Task: Explain this query and find errors. 9`; 10 11const result = await model.generateContent(prompt);
2. Modern Frontend Architecture
- Component Driven Development:
SqlEditor,AiTutorView,ChatInterface등 기능 단위로 컴포넌트를 분리하여 재사용성을 높였습니다. - Radix UI & Tailwind: 접근성(Accessibility)이 보장된 Headless UI 라이브러리인 Radix UI를 기반으로, Tailwind CSS를 사용하여 일관되면서도 커스터마이징 가능한 ZQL Design System을 구축했습니다.
- Performance:
React Query를 도입하여 비동기 데이터 상태를 관리하고, 불필요한 리렌더링을 방지했습니다.
3. Spring Boot Multi-Module (Domain-Driven Design)
api-domain: 외부 의존성이 배제된 순수 비즈니스 로직 및 엔티티api-application: 유스케이스(Use Case) 및 서비스 흐름 제어api-datasource: 데이터베이스 구현체 (JPA 등)api-container: 실제 실행 가능한 Spring Boot 애플리케이션
4. Code Quality Automation
- Spotless: Java 및 Kotlin 코드에 대해 저장 시점에 자동으로 Google Style Guide 포맷팅을 적용하여 일관된 코드 스타일을 강제했습니다.
- TypeScript Strict Mode: 프론트엔드 전반에 엄격한 타입 체크를 적용하여 런타임 오류를 최소화했습니다.
Tech Stack
프론트엔드는 React와 Google GenAI SDK를 활용해 즉각적인 AI 경험을 제공하며, 백엔드는 Spring Boot 멀티 모듈 아키텍처로 도메인 복잡도를 관리합니다.
CLIENT
Frontend & AI
Vite 기반의 빠른 빌드 환경과 Gemini 모델의 직접 통합으로 끊김 없는 학습 경험 제공
SERVER
Backend Architecture
도메인 주도 설계(DDD) 원칙을 적용한 멀티 모듈 구조로 비즈니스 로직과 인프라의 명확한 분리
INFRA
DevOps & Tools
Spotless를 통한 코드 품질 관리와 Docker 기반의 개발 환경