Xcode가 먼저 설치되어 있어야 합니다. xcode-select --install로 Command Line Tools도 설치하세요.
📦 프로젝트 클론
git clone https://github.com/GOATHEAVENCEO/CARI.git
cd CARI
📱 앱 셋업 (Flutter)
cd app && flutter pub get && cd ios && pod install && cd ..
flutter doctor
🖥 서버 셋업 (Express)
cd server && npm install
cp .env.example .env # 환경변수 편집
npm run dev
🤖 AI 엔진 셋업
cd ai/ai1 && npm install && npm run dev # port 3001
cd ai/ai2 && npm install && npm run dev # port 3002
cd ai/ai3 && npm install && npm run dev # port 3000
🛠 어드민 셋업 (Next.js)
cd admin && npm install
cp .env.example .env.local
npm run dev -- -p 3100 # 서버와 포트 충돌 방지
🌿 Git 브랜치 규칙
main: 배포용 (ssangminkim만 머지)
dev: 개발 통합
feature/*: 작업 브랜치
작업 플로우
git checkout dev && git pull origin dev # dev 최신화
git checkout -b feature/기능명 # 브랜치 생성# ... 작업 ...
git push -u origin feature/기능명
gh pr create --base dev # PR 생성 → dev 머지
📝 커밋 컨벤션
타입
설명
feat
새 기능
fix
버그 수정
chore
잡일
docs
문서
커밋 전 반드시 flutter analyze + npx tsc --noEmit 실행하세요.
🔐 환경변수 체크리스트
변수
용도
AWS_ACCESS_KEY_ID
AWS 인증
AWS_SECRET_ACCESS_KEY
AWS 인증
AWS_REGION
ap-northeast-2
JWT_SECRET
토큰 서명
ANTHROPIC_API_KEY
Claude AI
ALIGO_API_KEY
SMS 발송
ALIGO_USER_ID
SMS 계정
ALIGO_SENDER
발신번호
HOWHYMATH_API_KEY
문제 데이터
🛠 어드민 셋업 (Next.js)
cd admin && npm install && cp .env.example .env.local && npm run dev -- -p 3100
서버(Express)와 포트가 겹치므로 -p 3100으로 실행합니다.
🔐 환경변수 (.env.local)
변수
용도
AWS_ACCESS_KEY_ID
AWS 인증
AWS_SECRET_ACCESS_KEY
AWS 인증
AWS_REGION
ap-northeast-2
USERS_TABLE
CariUsers
VERIFICATION_CODES_TABLE
CariVerificationCodes
REFRESH_TOKENS_TABLE
CariRefreshTokens
ADMIN_USERS_TABLE
CariAdminUsers
REPORTS_TABLE
CariReports
INQUIRIES_TABLE
CariInquiries
NOTICES_TABLE
CariNotices
POPUPS_TABLE
CariPopups
EVENTS_TABLE
CariEvents
COUPONS_TABLE
CariCoupons
AI_PROMPTS_TABLE
CariAiPrompts
NEXTAUTH_SECRET
세션 서명 키
NEXTAUTH_URL
http://localhost:3100
👤 어드민 계정 생성
첫 접속 시 회원가입 페이지에서 이메일/비밀번호 등록
가입 직후 상태는 PENDING (접근 제한)
SUPER_ADMIN이 관리자 계정 페이지에서 역할을 VIEWER 또는 MANAGER로 변경