프로젝트 배경
## ???? 프로젝트 배경
### 해결하려는 문제
#### 1. 언어 장벽으로 인한 주문 어려움
- **문제**: 외국인 관광객이 현지 식당에서 메뉴를 이해하고 주문하는 데 어려움
- **기존 해결책의 한계**:
- 종이 메뉴: 번역이 부정확하거나 없음
- 정적 QR 메뉴: 단순 이미지나 PDF, 다국어 지원 부재
- 직원 의존: 언어 소통 문제로 주문 오류 발생
#### 2. 비효율적인 주문 관리 시스템
- **문제**: 전통적인 주문 방식(종이, 키오스크)의 한계
- 주문 상태를 실시간으로 확인하기 어려움
- 품절 메뉴를 고객에게 즉시 알리기 어려움
- 주문 내역 관리 및 통계 분석의 어려움
#### 3. 확장성 부족한 플랫폼 구조
- **문제**: 단일 레스토랑용 솔루션은 여러 레스토랑으로 확장 시 비효율적
- 각 레스토랑마다 별도 시스템 구축 필요
- 인프라 비용이 선형적으로 증가
- 통합 관리 및 유지보수 어려움
### 달성하고자 한 목표
#### 1. 언어 장벽 해소
- ✅ **AI 기반 자연스러운 번역**: OpenAI GPT-4o를 활용한 맥락을 이해하는 메뉴 번역
- ✅ **10개 언어 지원**: 한국어, 영어, 태국어, 중국어, 일본어, 러시아어, 베트남어, 아랍어, 힌디어, 말레이어
- ✅ **실시간 번역**: 메뉴 설명이 없는 언어도 AI로 즉시 번역 제공
#### 2. 실시간 주문 관리 시스템 구축
- ✅ **실시간 주문 상태 동기화**: 고객과 업주 간 실시간 주문 상태 공유
- ✅ **즉각적인 품절 처리**: 메뉴 품절 시 고객 화면에 즉시 반영
- ✅ **통합 주문 관리**: 주문 내역, 통계, 분석을 한 곳에서 관리
#### 3. 확장 가능한 멀티테넌트 플랫폼 구축
- ✅ **단일 플랫폼, 다중 레스토랑**: 하나의 시스템으로 무제한 레스토랑 관리
- ✅ **데이터 완전 격리**: 레스토랑별 데이터 완전 분리 및 보안
- ✅ **비용 효율적 확장**: 테넌트 수 증가에 따른 인프라 비용 증가 최소화
#### 4. 엔터프라이즈급 아키텍처 구현
- ✅ **마이크로서비스 아키텍처**: 서비스별 독립 배포 및 확장
- ✅ **높은 가용성**: 장애 격리 및 자동 복구 시스템
- ✅ **확장성**: 수평 확장이 용이한 구조로 대규모 트래픽 처리 가능
#### 5. 사용자 경험 최적화
- ✅ **모바일 우선 설계**: 태국 현지 모바일 환경(4G/5G)에 최적화된 초경량 UI
- ✅ **프리미엄 UI/UX**: 고품질 마이크로 애니메이션 및 직관적인 인터페이스
- ✅ **오프라인 지원**: 네트워크 불안정 환경에서도 기본 기능 사용 가능
### 해결하려는 문제
#### 1. 언어 장벽으로 인한 주문 어려움
- **문제**: 외국인 관광객이 현지 식당에서 메뉴를 이해하고 주문하는 데 어려움
- **기존 해결책의 한계**:
- 종이 메뉴: 번역이 부정확하거나 없음
- 정적 QR 메뉴: 단순 이미지나 PDF, 다국어 지원 부재
- 직원 의존: 언어 소통 문제로 주문 오류 발생
#### 2. 비효율적인 주문 관리 시스템
- **문제**: 전통적인 주문 방식(종이, 키오스크)의 한계
- 주문 상태를 실시간으로 확인하기 어려움
- 품절 메뉴를 고객에게 즉시 알리기 어려움
- 주문 내역 관리 및 통계 분석의 어려움
#### 3. 확장성 부족한 플랫폼 구조
- **문제**: 단일 레스토랑용 솔루션은 여러 레스토랑으로 확장 시 비효율적
- 각 레스토랑마다 별도 시스템 구축 필요
- 인프라 비용이 선형적으로 증가
- 통합 관리 및 유지보수 어려움
### 달성하고자 한 목표
#### 1. 언어 장벽 해소
- ✅ **AI 기반 자연스러운 번역**: OpenAI GPT-4o를 활용한 맥락을 이해하는 메뉴 번역
- ✅ **10개 언어 지원**: 한국어, 영어, 태국어, 중국어, 일본어, 러시아어, 베트남어, 아랍어, 힌디어, 말레이어
- ✅ **실시간 번역**: 메뉴 설명이 없는 언어도 AI로 즉시 번역 제공
#### 2. 실시간 주문 관리 시스템 구축
- ✅ **실시간 주문 상태 동기화**: 고객과 업주 간 실시간 주문 상태 공유
- ✅ **즉각적인 품절 처리**: 메뉴 품절 시 고객 화면에 즉시 반영
- ✅ **통합 주문 관리**: 주문 내역, 통계, 분석을 한 곳에서 관리
#### 3. 확장 가능한 멀티테넌트 플랫폼 구축
- ✅ **단일 플랫폼, 다중 레스토랑**: 하나의 시스템으로 무제한 레스토랑 관리
- ✅ **데이터 완전 격리**: 레스토랑별 데이터 완전 분리 및 보안
- ✅ **비용 효율적 확장**: 테넌트 수 증가에 따른 인프라 비용 증가 최소화
#### 4. 엔터프라이즈급 아키텍처 구현
- ✅ **마이크로서비스 아키텍처**: 서비스별 독립 배포 및 확장
- ✅ **높은 가용성**: 장애 격리 및 자동 복구 시스템
- ✅ **확장성**: 수평 확장이 용이한 구조로 대규모 트래픽 처리 가능
#### 5. 사용자 경험 최적화
- ✅ **모바일 우선 설계**: 태국 현지 모바일 환경(4G/5G)에 최적화된 초경량 UI
- ✅ **프리미엄 UI/UX**: 고품질 마이크로 애니메이션 및 직관적인 인터페이스
- ✅ **오프라인 지원**: 네트워크 불안정 환경에서도 기본 기능 사용 가능
핵심 기능
### 1. AI 기반 다국어 메뉴 번역
- **10개 언어 지원**: 한국어, 영어, 태국어, 중국어, 일본어, 러시아어, 베트남어, 아랍어, 힌디어, 말레이어
### 2. 실시간 주문 관리 시스템
- **실시간 주문 상태 동기화**: 고객과 업주 간 주문 상태 실시간 공유
- 주문 상태: 대기 중 → 조리 중 → 서빙 준비 완료 → 완료
- 페이지 새로고침 없이 자동 업데이트
- 주문 상태: 대기 중 → 조리 중 → 서빙 준비 완료 → 완료
- 페이지 새로고침 없이 자동 업데이트
### 3. 멀티테넌트 플랫폼 아키텍처
- **단일 플랫폼, 다중 레스토랑**: 하나의 시스템으로 무제한 레스토랑 관리
- **완전한 데이터 격리**: 레스토랑별 데이터 완전 분리 및 보안
- **완전한 데이터 격리**: 레스토랑별 데이터 완전 분리 및 보안
### 4. 통합 주문 관리 대시보드
- **실시간 주문 목록**: 주문 상태별 필터링 및 검색
- **주문 통계 및 분석**: 일별/월별 주문 통계, 인기 메뉴 분석
- **주문 통계 및 분석**: 일별/월별 주문 통계, 인기 메뉴 분석
### 5. 마이크로서비스 아키텍처
- **서비스별 독립 배포**: 주문, 메뉴, 알림, AI 등 서비스별 독립 배포 및 확장
- **장애 격리**: 한 서비스의 장애가 다른 서비스에 영향 없음
- **장애 격리**: 한 서비스의 장애가 다른 서비스에 영향 없음
진행 단계
출시 전
2025.12.
- 현재 결제 연동 및 심사 중
프로젝트 상세
# ???? Aroiqr 서비스 포트폴리오
## ???? 서비스 개요
**Aroiqr**는 AI와 실시간 번역 기술을 결합한 멀티테넌트 QR 메뉴 플랫폼입니다.
**확장 가능한 멀티테넌트 아키텍처**와 **마이크로서비스 기반**의 엔터프라이즈급 시스템을 구현했습니다.
### 핵심 특징
- ✅ **멀티테넌트 아키텍처**: 레스토랑별 완전한 데이터 격리 및 독립 운영
- ✅ **실시간 주문 시스템**: 실시간 주문 상태 업데이트
- ✅ **AI 번역 기능**: OpenAI GPT-4o를 활용한 자연스러운 다국어 메뉴 번역
- ✅ **확장 가능한 구조**: 수평 확장이 용이한 마이크로서비스 아키텍처
- ✅ **높은 테스트 커버리지**: Unit, Integration, 시나리오 테스트로 안정성 보장
---
## ???? 서비스 접속 정보
### 1. 랜딩 페이지
- **URL**: https://aroiqr.com
### 2. 고객용 메뉴
- **URL**: https://demo.aroiqr.com/01 (테이블 01~10번까지 테스트 가능)
- **주요 기능**: 메뉴 보기/주문, 다국어 지원 (10개 언어), AI 번역, 실시간 주문 상태 확인
### 3. 업주용 대시보드
- **URL**: https://owner.aroiqr.com
- **주요 기능**: 주문 관리, 메뉴 관리, 테이블/QR 관리, AI 번역, QR 디자인 에디터, KDS, 결제 매대
### 4. 슈퍼 어드민
- **URL**: https://admin.aroiqr.com
- **주요 기능**: 모든 레스토랑/계정 관리, 플랫폼 통계
---
## ???? 테스트 계정 정보
### 슈퍼 어드민
- **이메일**: `admin@aroiqr.com` / **비밀번호**: `admin1234`
- **접속**: https://admin.aroiqr.com
### 데모 레스토랑 오너
- **이메일**: `test@restaurant.com` / **비밀번호**: `test1234`
- **접속**: https://owner.aroiqr.com
- **레스토랑**: Thai Fusion Bangkok (서브도메인: `demo`)
---
## ???? 추천 테스트 시나리오
### 시나리오 1: 고객 주문 플로우
1. 고객용 메뉴 접속 (https://demo.aroiqr.com/01)
2. AI 번역 체험 (언어 선택 → AI 번역 버튼 클릭)
3. 메뉴 주문 (메뉴 선택 → 옵션 구성 → 주문)
4. 실시간 상태 추적 (업주 대시보드에서 상태 변경 시 고객 화면 실시간 업데이트 확인)
### 시나리오 2: 업주 관리 플로우
1. 업주 대시보드 접속 (`test@restaurant.com` / `test1234`)
2. 실시간 품절 처리 (품절 처리 → 고객 화면 즉시 반영 확인)
3. 주문 상태 변경 (상태 변경 → 고객 화면 실시간 동기화 확인)
4. QR 디자인 에디터 (템플릿 적용, 커스터마이징, 내보내기)
### 시나리오 3: 멀티테넌트 데이터 격리
1. 슈퍼 어드민 접속 (`admin@aroiqr.com` / `admin1234`)
2. 여러 레스토랑 데이터 독립 관리 확인
3. 업주 계정으로 자신의 레스토랑 데이터만 접근 가능 확인
---
## ????️ 아키텍처 설계
### 멀티테넌트 아키텍처
- **데이터 격리**: `restaurantId` 기반 자동 필터링, Prisma Middleware 활용
- **권한 제어**: JWT 토큰 기반, API Gateway 및 서비스 레벨 이중 검증
- **DB 레벨 보안**: PostgreSQL Row-Level Security (RLS) 정책
- **확장성**: 새로운 테넌트 추가 시 코드 변경 없이 자동 확장
### 마이크로서비스 아키텍처
```
┌──────────────────────────────────────────────────┐
│ API Gateway │
└──────────────┬───────────────────────────────────┘
┌──────────┼──────────┐
┌───▼───┐ ┌───▼───┐ ┌───▼───┐
│ 주문 │ │ 메뉴 │ │ 레스토랑│
│ 서비스 │ │ 서비스 │ │ 서비스 │
└───┬───┘ └───┬───┘ └───┬───┘
┌───▼───┐ ┌───▼───┐ ┌───▼───┐
│ 알림 │ │ AI │ │ 통계 │
│ 서비스 │ │ 서비스 │ │ 서비스 │
└───────┘ └───────┘ └───────┘
```
#### 모놀리식 서버 vs 마이크로서비스 아키텍처
| 항목 | 모놀리식 서버 | 마이크로서비스 아키텍처 (본 플랫폼) |
|------|-------------|--------------------------------|
| **서버 구조** | 단일 서버 애플리케이션 | 독립적인 서비스들로 분리 |
| **배포** | 전체 시스템 재배포 필요 | 서비스별 독립 배포 가능 |
| **확장성** | 수직 확장만 가능 | 수평 확장 가능 (서비스별 독립 확장) |
| **장애 영향** | 한 부분 장애 시 전체 시스템 중단 | 한 서비스 장애가 다른 서비스에 영향 없음 |
| **개발 속도** | 팀 간 의존성으로 개발 지연 | 서비스별 병렬 개발 가능 |
| **유지보수** | 작은 변경도 전체 시스템 영향 | 특정 서비스만 수정하여 영향 최소화 |
### 실시간 통신 아키텍처
- **실시간 양방향 동기화**: 서버에서 클라이언트로 푸시 방식 업데이트
- **Sticky Sessions**: 리버스 프록시 로드 밸런싱으로 연결 유지
- **이벤트 기반 브로드캐스트**: NATS를 통한 효율적인 이벤트 분산
---
## ???? 기술적 차별점 및 강점
### 1. 멀티테넌트 아키텍처
- ✅ 단일 데이터베이스, 완전한 데이터 격리 (`restaurantId` 기반 자동 필터링)
- ✅ DB 레벨 보안 강화 (PostgreSQL RLS 정책)
- ✅ 확장 비용 최적화 (테넌트 수 증가에 따른 인프라 비용 증가 최소화)
### 2. 마이크로서비스 기반 확장성
- ✅ 서비스별 독립 배포 및 확장 (트래픽이 많은 서비스만 선택적 확장)
- ✅ 장애 격리 (한 서비스 장애가 다른 서비스에 영향 없음)
- ✅ 이벤트 드리븐 아키텍처 (NATS 기반 비동기 이벤트 통신)
### 3. 실시간 통신 구현
- ✅ 실시간 양방향 동기화 (폴링 방식 대신 푸시 방식으로 서버 부하 최소화)
- ✅ 여러 서버 인스턴스 환경에서도 정상 작동
- ✅ 주문 상태 변경, 품절 처리 등 즉시 전파
### 4. 데이터베이스 및 성능 최적화
- ✅ 전략적 인덱스 설계 (복합 인덱스로 멀티테넌트 쿼리 성능 향상)
- ✅ ORM 기반 쿼리 최적화 (Prisma를 통한 N+1 쿼리 문제 해결)
- ✅ Connection Pooling 최적화 (대규모 트래픽 환경에서도 안정적 성능)
### 5. 보안 및 테스트
- ✅ 다층 보안 구조 (애플리케이션/DB/네트워크 레벨 보안)
- ✅ 높은 테스트 커버리지 (Unit/Integration/시나리오 테스트, 100% 커버리지)
- ✅ 자동화된 CI/CD (GitHub Actions를 통한 자동 테스트/빌드/배포)
---
## ???? 개발 역량
- ✅ **아키텍처 설계**: 멀티테넌트 아키텍처, 마이크로서비스 아키텍처, 실시간 통신 설계
- ✅ **데이터베이스 설계**: 정규화, 인덱스 최적화, Row-Level Security, Connection Pooling
- ✅ **프론트엔드/백엔드**: 차세대 웹 프레임워크, TypeScript, RESTful API, JWT 인증
- ✅ **DevOps 및 테스트**: Docker, CI/CD 파이프라인, Unit/Integration/시나리오 테스트
---
## ???? 기술 스택 요약
### Backend
- **서버**: Node.js
- **메시지 브로커**: NATS
- **데이터베이스**: PostgreSQL
- **ORM**: Prisma
- **인증**: JWT
- **AI**: OpenAI GPT-4o
### Frontend
- **프레임워크**: 차세대 웹 프레임워크, TypeScript
- **빌드 도구**: Vite
- **스타일링**: Tailwind CSS
- **차트**: Chart.js
- **에디터**: Fabric.js
### Infrastructure
- **컨테이너화**: Docker, Docker Compose
- **리버스 프록시**: Caddy
- **CI/CD**: GitHub Actions
- **배포**: Vercel (정적 사이트), Vultr (서버)
---
## ???? 건강검진 플랫폼 적용 가능성
본 플랫폼의 아키텍처와 기술 스택은 **건강검진 플랫폼**에도 그대로 적용 가능합니다:
- ✅ **멀티테넌트 구조**: 레스토랑 → 병원, 단일 병원에서 N개 병원으로 확장 가능
- ✅ **마이크로서비스 구조**: 예약, 문진, 결과, 알림 등 서비스별 분리, EMR 연동 서비스 독립 운영
- ✅ **실시간 통신**: 검진 결과 알림, 재검 알림, 대시보드 실시간 업데이트
- ✅ **보안 아키텍처**: 다층 보안 구조, 감사 로그 (의료법 준수), 병원별 완전한 데이터 격리
---
## ???? 문의 및 추가 정보
본 포트폴리오는 실제 운영 중인 서비스를 기반으로 작성되었습니다.
고객사에서 직접 접속하여 다양한 기능을 체험하실 수 있으며,
추가 질문이나 상세 논의가 필요하시면 언제든지 연락 주시기 바랍니다.
## ???? 서비스 개요
**Aroiqr**는 AI와 실시간 번역 기술을 결합한 멀티테넌트 QR 메뉴 플랫폼입니다.
**확장 가능한 멀티테넌트 아키텍처**와 **마이크로서비스 기반**의 엔터프라이즈급 시스템을 구현했습니다.
### 핵심 특징
- ✅ **멀티테넌트 아키텍처**: 레스토랑별 완전한 데이터 격리 및 독립 운영
- ✅ **실시간 주문 시스템**: 실시간 주문 상태 업데이트
- ✅ **AI 번역 기능**: OpenAI GPT-4o를 활용한 자연스러운 다국어 메뉴 번역
- ✅ **확장 가능한 구조**: 수평 확장이 용이한 마이크로서비스 아키텍처
- ✅ **높은 테스트 커버리지**: Unit, Integration, 시나리오 테스트로 안정성 보장
---
## ???? 서비스 접속 정보
### 1. 랜딩 페이지
- **URL**: https://aroiqr.com
### 2. 고객용 메뉴
- **URL**: https://demo.aroiqr.com/01 (테이블 01~10번까지 테스트 가능)
- **주요 기능**: 메뉴 보기/주문, 다국어 지원 (10개 언어), AI 번역, 실시간 주문 상태 확인
### 3. 업주용 대시보드
- **URL**: https://owner.aroiqr.com
- **주요 기능**: 주문 관리, 메뉴 관리, 테이블/QR 관리, AI 번역, QR 디자인 에디터, KDS, 결제 매대
### 4. 슈퍼 어드민
- **URL**: https://admin.aroiqr.com
- **주요 기능**: 모든 레스토랑/계정 관리, 플랫폼 통계
---
## ???? 테스트 계정 정보
### 슈퍼 어드민
- **이메일**: `admin@aroiqr.com` / **비밀번호**: `admin1234`
- **접속**: https://admin.aroiqr.com
### 데모 레스토랑 오너
- **이메일**: `test@restaurant.com` / **비밀번호**: `test1234`
- **접속**: https://owner.aroiqr.com
- **레스토랑**: Thai Fusion Bangkok (서브도메인: `demo`)
---
## ???? 추천 테스트 시나리오
### 시나리오 1: 고객 주문 플로우
1. 고객용 메뉴 접속 (https://demo.aroiqr.com/01)
2. AI 번역 체험 (언어 선택 → AI 번역 버튼 클릭)
3. 메뉴 주문 (메뉴 선택 → 옵션 구성 → 주문)
4. 실시간 상태 추적 (업주 대시보드에서 상태 변경 시 고객 화면 실시간 업데이트 확인)
### 시나리오 2: 업주 관리 플로우
1. 업주 대시보드 접속 (`test@restaurant.com` / `test1234`)
2. 실시간 품절 처리 (품절 처리 → 고객 화면 즉시 반영 확인)
3. 주문 상태 변경 (상태 변경 → 고객 화면 실시간 동기화 확인)
4. QR 디자인 에디터 (템플릿 적용, 커스터마이징, 내보내기)
### 시나리오 3: 멀티테넌트 데이터 격리
1. 슈퍼 어드민 접속 (`admin@aroiqr.com` / `admin1234`)
2. 여러 레스토랑 데이터 독립 관리 확인
3. 업주 계정으로 자신의 레스토랑 데이터만 접근 가능 확인
---
## ????️ 아키텍처 설계
### 멀티테넌트 아키텍처
- **데이터 격리**: `restaurantId` 기반 자동 필터링, Prisma Middleware 활용
- **권한 제어**: JWT 토큰 기반, API Gateway 및 서비스 레벨 이중 검증
- **DB 레벨 보안**: PostgreSQL Row-Level Security (RLS) 정책
- **확장성**: 새로운 테넌트 추가 시 코드 변경 없이 자동 확장
### 마이크로서비스 아키텍처
```
┌──────────────────────────────────────────────────┐
│ API Gateway │
└──────────────┬───────────────────────────────────┘
┌──────────┼──────────┐
┌───▼───┐ ┌───▼───┐ ┌───▼───┐
│ 주문 │ │ 메뉴 │ │ 레스토랑│
│ 서비스 │ │ 서비스 │ │ 서비스 │
└───┬───┘ └───┬───┘ └───┬───┘
┌───▼───┐ ┌───▼───┐ ┌───▼───┐
│ 알림 │ │ AI │ │ 통계 │
│ 서비스 │ │ 서비스 │ │ 서비스 │
└───────┘ └───────┘ └───────┘
```
#### 모놀리식 서버 vs 마이크로서비스 아키텍처
| 항목 | 모놀리식 서버 | 마이크로서비스 아키텍처 (본 플랫폼) |
|------|-------------|--------------------------------|
| **서버 구조** | 단일 서버 애플리케이션 | 독립적인 서비스들로 분리 |
| **배포** | 전체 시스템 재배포 필요 | 서비스별 독립 배포 가능 |
| **확장성** | 수직 확장만 가능 | 수평 확장 가능 (서비스별 독립 확장) |
| **장애 영향** | 한 부분 장애 시 전체 시스템 중단 | 한 서비스 장애가 다른 서비스에 영향 없음 |
| **개발 속도** | 팀 간 의존성으로 개발 지연 | 서비스별 병렬 개발 가능 |
| **유지보수** | 작은 변경도 전체 시스템 영향 | 특정 서비스만 수정하여 영향 최소화 |
### 실시간 통신 아키텍처
- **실시간 양방향 동기화**: 서버에서 클라이언트로 푸시 방식 업데이트
- **Sticky Sessions**: 리버스 프록시 로드 밸런싱으로 연결 유지
- **이벤트 기반 브로드캐스트**: NATS를 통한 효율적인 이벤트 분산
---
## ???? 기술적 차별점 및 강점
### 1. 멀티테넌트 아키텍처
- ✅ 단일 데이터베이스, 완전한 데이터 격리 (`restaurantId` 기반 자동 필터링)
- ✅ DB 레벨 보안 강화 (PostgreSQL RLS 정책)
- ✅ 확장 비용 최적화 (테넌트 수 증가에 따른 인프라 비용 증가 최소화)
### 2. 마이크로서비스 기반 확장성
- ✅ 서비스별 독립 배포 및 확장 (트래픽이 많은 서비스만 선택적 확장)
- ✅ 장애 격리 (한 서비스 장애가 다른 서비스에 영향 없음)
- ✅ 이벤트 드리븐 아키텍처 (NATS 기반 비동기 이벤트 통신)
### 3. 실시간 통신 구현
- ✅ 실시간 양방향 동기화 (폴링 방식 대신 푸시 방식으로 서버 부하 최소화)
- ✅ 여러 서버 인스턴스 환경에서도 정상 작동
- ✅ 주문 상태 변경, 품절 처리 등 즉시 전파
### 4. 데이터베이스 및 성능 최적화
- ✅ 전략적 인덱스 설계 (복합 인덱스로 멀티테넌트 쿼리 성능 향상)
- ✅ ORM 기반 쿼리 최적화 (Prisma를 통한 N+1 쿼리 문제 해결)
- ✅ Connection Pooling 최적화 (대규모 트래픽 환경에서도 안정적 성능)
### 5. 보안 및 테스트
- ✅ 다층 보안 구조 (애플리케이션/DB/네트워크 레벨 보안)
- ✅ 높은 테스트 커버리지 (Unit/Integration/시나리오 테스트, 100% 커버리지)
- ✅ 자동화된 CI/CD (GitHub Actions를 통한 자동 테스트/빌드/배포)
---
## ???? 개발 역량
- ✅ **아키텍처 설계**: 멀티테넌트 아키텍처, 마이크로서비스 아키텍처, 실시간 통신 설계
- ✅ **데이터베이스 설계**: 정규화, 인덱스 최적화, Row-Level Security, Connection Pooling
- ✅ **프론트엔드/백엔드**: 차세대 웹 프레임워크, TypeScript, RESTful API, JWT 인증
- ✅ **DevOps 및 테스트**: Docker, CI/CD 파이프라인, Unit/Integration/시나리오 테스트
---
## ???? 기술 스택 요약
### Backend
- **서버**: Node.js
- **메시지 브로커**: NATS
- **데이터베이스**: PostgreSQL
- **ORM**: Prisma
- **인증**: JWT
- **AI**: OpenAI GPT-4o
### Frontend
- **프레임워크**: 차세대 웹 프레임워크, TypeScript
- **빌드 도구**: Vite
- **스타일링**: Tailwind CSS
- **차트**: Chart.js
- **에디터**: Fabric.js
### Infrastructure
- **컨테이너화**: Docker, Docker Compose
- **리버스 프록시**: Caddy
- **CI/CD**: GitHub Actions
- **배포**: Vercel (정적 사이트), Vultr (서버)
---
## ???? 건강검진 플랫폼 적용 가능성
본 플랫폼의 아키텍처와 기술 스택은 **건강검진 플랫폼**에도 그대로 적용 가능합니다:
- ✅ **멀티테넌트 구조**: 레스토랑 → 병원, 단일 병원에서 N개 병원으로 확장 가능
- ✅ **마이크로서비스 구조**: 예약, 문진, 결과, 알림 등 서비스별 분리, EMR 연동 서비스 독립 운영
- ✅ **실시간 통신**: 검진 결과 알림, 재검 알림, 대시보드 실시간 업데이트
- ✅ **보안 아키텍처**: 다층 보안 구조, 감사 로그 (의료법 준수), 병원별 완전한 데이터 격리
---
## ???? 문의 및 추가 정보
본 포트폴리오는 실제 운영 중인 서비스를 기반으로 작성되었습니다.
고객사에서 직접 접속하여 다양한 기능을 체험하실 수 있으며,
추가 질문이나 상세 논의가 필요하시면 언제든지 연락 주시기 바랍니다.

매인 렌딩화면



