C
CARI 제품팀

개발 진행 현황

마지막 업데이트: -
0% 전체 완료
0
전체 작업
0
완료
0
미완료

QA 현황

기능별 테스트 체크리스트 및 진행 상황 (총 148개 항목)

테스트 가이드

🍎 TestFlight (iOS)

  1. TestFlight 앱을 App Store에서 설치
  2. 아래 초대 링크를 클릭하거나 초대 코드 입력
  3. CARI 앱 설치 후 열기
초대 링크: 준비 중
초대 코드: 준비 중
⚠️ TestFlight 빌드는 90일 후 만료됩니다

🤖 Firebase App Distribution (Android)

  1. 초대 이메일의 링크를 클릭
  2. Firebase App Tester 앱 설치
  3. CARI APK 다운로드 후 설치
다운로드 링크: 준비 중

💻 시뮬레이터 테스트 (개발자용)

cd app
flutter pub get
cd ios && pod install && cd ..
open -a Simulator  # iPad Pro 선택
flutter run

💬 피드백 방법

버그 발견 시 스크린샷 + 재현 경로를 GitHub Issues에 등록해 주세요.

GitHub Issues: https://github.com/GOATHEAVENCEO/CARI/issues

스토어 현황

🍎
준비 중

App Store (iOS)

  • 앱 이름CARI - AI 수학 학습지
  • Bundle IDcom.cari.cariApp
  • 버전1.0.0
  • 링크준비 중
  • ✅ 앱 아이콘
  • ⏳ 스크린샷
  • ⏳ 앱 설명
  • ⏳ 개인정보 처리방침
  • ⏳ 심사 제출
🤖
준비 중

Google Play (Android)

  • 앱 이름CARI - AI 수학 학습지
  • Packagecom.cari.cariApp
  • 버전1.0.0
  • 링크준비 중
  • ✅ 앱 아이콘
  • ⏳ 스크린샷
  • ⏳ 스토어 등록정보
  • ⏳ 콘텐츠 등급
  • ⏳ 출시

배포 타임라인

내부 테스트
클로즈드 베타
오픈 베타
정식 출시

온보딩 가이드

신규 개발자를 위한 CARI 프로젝트 셋업 가이드

🛠 필수 설치 (macOS)

brew install node gh cocoapods jq openjdk@17
brew install --cask flutter
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_IDAWS 인증
AWS_SECRET_ACCESS_KEYAWS 인증
AWS_REGIONap-northeast-2
JWT_SECRET토큰 서명
ANTHROPIC_API_KEYClaude AI
ALIGO_API_KEYSMS 발송
ALIGO_USER_IDSMS 계정
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_IDAWS 인증
AWS_SECRET_ACCESS_KEYAWS 인증
AWS_REGIONap-northeast-2
USERS_TABLECariUsers
VERIFICATION_CODES_TABLECariVerificationCodes
REFRESH_TOKENS_TABLECariRefreshTokens
ADMIN_USERS_TABLECariAdminUsers
REPORTS_TABLECariReports
INQUIRIES_TABLECariInquiries
NOTICES_TABLECariNotices
POPUPS_TABLECariPopups
EVENTS_TABLECariEvents
COUPONS_TABLECariCoupons
AI_PROMPTS_TABLECariAiPrompts
NEXTAUTH_SECRET세션 서명 키
NEXTAUTH_URLhttp://localhost:3100

👤 어드민 계정 생성

  • 첫 접속 시 회원가입 페이지에서 이메일/비밀번호 등록
  • 가입 직후 상태는 PENDING (접근 제한)
  • SUPER_ADMIN이 관리자 계정 페이지에서 역할을 VIEWER 또는 MANAGER로 변경
  • 역할 변경 후 다시 로그인하면 대시보드 접근 가능
역할: SUPER_ADMIN (전체 권한) > MANAGER (수정 가능) > VIEWER (조회만) > PENDING (승인 대기)

⚙️ 기술 스택

기술버전/설명
Next.js (App Router)16.2.3
TailwindCSS4
Recharts차트 라이브러리
NextAuthJWT 기반 인증
DynamoDB직접 접근 (서버 미경유)
Lucide React아이콘

리소스 & 링크

🌐 서비스 URL

서비스URL비고
CARI APIapi.cari-math.comAWS ECS
AI 서비스ai1.cari-math.com ~AWS ECS (서비스별 서브도메인)
AdminVercel 배포Next.js
개발 현황cari-progress.vercel.app이 페이지

🔌 외부 API

APIURL인증
HowHyMath 문제rapi.dtsoft.co.krMD5 시그니처
HowHyMath 교재bonsa.howhymath.com없음
Anthropic ClaudeAPI SDK 0.39.0API Key
Aligo SMSaligo.inAPI Key

🐙 GitHub

항목링크
Repositorygithub.com/GOATHEAVENCEO/CARI
Issuesgithub.com/GOATHEAVENCEO/CARI/issues
Pull Requestsgithub.com/GOATHEAVENCEO/CARI/pulls

🎨 Figma

항목링크
CARI App Tablet v2.0figma.com/design/OnaSTEDgPLqwAkOdRtjdZE
노드 매핑 문서docs/FIGMA_NODE_MAP.md

☁️ AWS 리소스

서비스리소스
DynamoDBCariUsers, CariVerificationCodes, CariRefreshTokens, CariErrorLogs +8개
S3파일 스토리지 (presigned URL)
Lambda인증 함수 8개
Secrets ManagerJWT, API 키

🔥 Firebase

항목상태
Firebase Core설정 완료
Crashlytics설정 완료
FCM 푸시 (Android)설정 완료
FCM 푸시 (iOS)미설정 (#39)

📱 앱 정보

항목값
Bundle IDcom.cari.cariApp
앱 이름CARI - AI 수학 학습지
Flutter3.41.6
Dart3.11.4
해상도1366 x 1024 (태블릿 가로)
폰트Pretendard

📄 프로젝트 문서

문서경로
온보딩 가이드CARI_SETUP.md
개발 규칙CLAUDE.md
Flutter 가이드app/CLAUDE.md
Admin 가이드admin/CLAUDE.md
Figma 노드맵docs/FIGMA_NODE_MAP.md
작업 로그docs/CHANGELOG.md
API 명세Downloads/api-20250624.xlsx

🔢 포트 번호

서비스포트
Server3000
AI1 (풀이분석)3001
AI2 (서술형코칭)3002
AI3 (티칭AI)3000 (또는 3003)
Admin3100 (로컬)

🚀 배포

항목내용
플랫폼Vercel (Next.js native)
URLVercel 대시보드 참조

⚙️ 기술 스택

기술버전/설명
Next.js (App Router)16.2.3
TailwindCSS4
Lucide React아이콘
Recharts차트 라이브러리

🔐 인증

항목내용
방식NextAuth (JWT)
역할SUPER_ADMIN, MANAGER, VIEWER, PENDING

🗄️ DynamoDB 테이블

테이블용도
CariAdminUsers어드민 계정
CariReports사용자 신고
CariInquiries고객 문의
CariNotices공지사항
CariPopups마케팅 팝업
CariEvents인앱 이벤트
CariCoupons쿠폰
CariAiPromptsAI 프롬프트

🔌 API 라우트

항목내용
총 라우트30+ (api.ts)
DB 접근DynamoDB 직접 (서버 미경유)

🎨 디자인 시스템 컴포넌트

컴포넌트용도
Button, Card, Table기본 UI
Modal, Badge, Tabs인터랙션
Toggle, Input, Select폼 요소
SearchInput, PageHeader페이지 구조
StatCard, LoadingState상태 표시
EmptyState, FilterTabs빈 상태/필터

📂 소스 구조

경로설명
app/dashboard/12개 섹션 페이지
components/공용 UI 컴포넌트
lib/api.tsDynamoDB CRUD 클라이언트
lib/auth.tsNextAuth/JWT 로직
lib/db.tsDB 커넥션 헬퍼
lib/types.tsTypeScript 타입 정의

제품 문의사항

버그 리포트, 기능 요청, 일반 문의를 등록하고 추적할 수 있습니다.

새 문의 등록
문의는 로컬에 저장됩니다 (localStorage)
0건
외부 이슈 트래커

개발 이슈는 GitHub Issues에서도 관리합니다.

GitHub Issues 바로가기