코드생성 도구 DbdbTap
코드생성 도구 DbdbTap은 사용자가 작성한 템플릿에 데이터베이스 스키마 정보를 결합하여 초기 버전의 전형적인 소스코드(CRUD 소스코드, HTML, XML, Markdown 문서 등)를 자동 생성해 주는 웹 기반 개발 생산성 도구(DevTools)입니다.
DB 스키마 메타데이터 기반의 보일러플레이트 자동 생성 도구로, 본 포트폴리오의 "차량관제시스템 Renewal" 및 "홈플러스 배차지원 시스템 Renewal" 프로젝트 진행 시 직접 활용하여 초기 구축 및 단순 반복 코딩 시간을 50% 이상 단축시킨 검증된 생산성 솔루션입니다.
랩이즈펀(주)의 자체 프로젝트로서, 야간과 주말에만 작업한 프로젝트입니다.
본인의 역할
- 전체 아키텍처 설계 및 백엔드/프론트엔드 전 과정 구현
- 백엔드 RESTful API, DB 스키마 수집 엔진, 구글 OAuth2 기반 인증 및 프로젝트 멤버 권한 관리 시스템 구축
- 프론트엔드 UI/UX 모듈화, Monaco Editor 연동, 브라우저 기반 템플릿 파싱 및 코드 생성 엔진 구축, 3개국어(i18n) 시스템 개발
DbdbTap이란?
이 서비스를 사용해서 사용자가 할 수 있는 일은 다음과 같습니다.
- DB 스키마 기반 소스코드 및 문서 자동 생성
- DB 스키마 정보를 연동하여 보일러플레이트 및 반복적인 CRUD 소스코드, 문서(HTML, XML, Markdown 등) 자동 생성
- 프로젝트 개발 단계 중 지루하고 반복적인 단순 코딩 입력 작업을 최소화하여 개발 생산성 극대화
- 템플릿 관리 및 확장
- 프로젝트 단위 템플릿 그룹화, 내 다른 프로젝트 및 기본 제공 라이브러리 템플릿 복제/재사용
- 사용자 정의 함수(User-defined function)를 통한 동적 로직 및 템플릿 연산 확장
- DB 연결 및 스키마 수집
- 프로젝트별 DB 연결 설정 및 테이블/컬럼 스키마 정보 자동 수집 및 직접 입력 지원
- 동료 협업 및 프로젝트 관리
- 프로젝트에 동료 사용자 초대, 멤버별 접근 권한 제어, 프로젝트 양도 기능 제공
사용한 언어, 프레임워크, 기술 등
| 구분 | 언어, 프레임워크, 기술 등 |
| 백엔드 | Java, Spring Boot, Spring Security OAuth2 Client, MyBatis |
| 프론트엔드 | React, JavaScript, MUI (Material UI), Recoil, Monaco Editor |
| 데이터베이스 및 연동 | MySQL / MariaDB, Oracle JDBC, PostgreSQL JDBC (이종 DB 스키마 추출) |
| 인증 및 서비스 기술 | Google OAuth 2.0, JWT, AWS SES, 3개국어 다국어 지원 (한국어, 영어, 스페인어) |
엔지니어링 핵심 성과 (Engineering Value)
- Zero-Server-Overhead Client-Side Code Generation
- 템플릿 해석 및 소스코드 생성 연산을 100% 프론트엔드(브라우저) 사이드로 위임하여 백엔드 서버 부하를 최소화하고, 다수 사용자의 동시 코드 생성 요청에도 인프라 확장 비용 없이 안정적인 고성능 처리 실현
- 고도의 유연성을 갖춘 템플릿 모듈화 엔진 (Inner Template & User-Defined Function)
- 서브 템플릿(Inner Template) 재귀 결합 구조와 커스텀 JS 함수 실행 파이프라인을 통합하여, 어떠한 프로그래밍 언어나 아키텍처 패러다임에도 유연하게 대응하는 소스코드 자동 생성 파이프라인 구축
- 이종 데이터베이스 스키마 추출 및 호환성 제고
- 다양한 RDBMS의 스키마 메타데이터를 정규화하여 수집하는 레이어를 구축함으로써, 이종 DB 환경에 의존하지 않는 표준화된 코드 생성 워크플로우 완성
- 글로벌 협업 SaaS 형태의 UX 및 통합 보안 아키텍처
- 구글 OAuth 2.0 간편 인증, 멤버별 상세 접근 권한 관리
- 모든 UI, 문서에 3개국어(한국어/영어/스페인어) 지원을 탑재하여 사용자 편의성과 팀 단위 협업 효율성을 대폭 향상