📁 Project Structure
nompangs/front/
├── pubspec.yaml # Dart/Flutter 패키지 의존성 및 프로젝트 설정 파일
├── firebase.json # Firebase 프로젝트 설정 파일
├── docs/ # 프로젝트 관련 문서
├── lib/ # Flutter 애플리케이션의 핵심 소스 코드
│ ├── main.dart # 애플리케이션의 시작점 (Entry Point)
│ ├── services/ # // 외부 서비스 연동 (API, DB, 인증 등)
│ │ ├── api_service.dart
│ │ ├── auth_service.dart
│ │ └── realtime_chat_service.dart # // 실시간 채팅 서비스
│ ├── models/ # // 앱에서 사용하는 데이터 구조 (데이터 클래스)
│ │ ├── onboarding_state.dart
│ │ └── personality_profile.dart
│ ├── providers/ # // 앱의 상태(State)를 관리
│ │ ├── chat_provider.dart
│ │ └── onboarding_provider.dart
│ ├── screens/ # // 애플리케이션의 각 화면 UI
│ │ ├── auth/ # // 인증 (로그인, 회원가입) 관련 화면
│ │ ├── main/ # // 앱의 주요 기능 (홈, 채팅 등) 화면
│ │ └── onboarding/ # // 사용자 온보딩 프로세스 화면
│ ├── widgets/ # // 여러 화면에서 재사용되는 공통 UI 컴포넌트
│ │ ├── bottom_nav_bar.dart
│ │ └── personality_chart.dart
│ ├── helpers/ # // 딥링크 등 보조 기능을 담당하는 헬퍼 클래스
│ │ └── deeplink_helper.dart
│ ├── theme/ # // 앱의 전체적인 테마 (색상, 폰트 등) 설정
│ │ └── app_theme.dart
│ └── utils/ # // 프로젝트 전반에서 사용되는 유틸리티 함수
│ ├── colors.dart
│ └── persona_utils.dart
🚀 Getting Started
프로젝트를 로컬 환경에서 실행하는 방법입니다.
- Flutter SDK (3.19.0 이상 권장)
- Firebase Account
- OpenAI API Key
-
리포지토리 클론
git clone [https://github.com/your-username/nompangs-front.git](https://github.com/your-username/nompangs-front.git) cd nompangs-front -
Flutter 패키지 설치
flutter pub get
-
Firebase 설정
firebase.json파일을 참고하여 자신의 Firebase 프로젝트를 설정합니다.- Android:
android/app/google-services.json파일을 추가합니다. - iOS:
ios/Runner/GoogleService-Info.plist파일을 추가합니다.
-
환경 변수 설정
- 프로젝트 루트에
.env파일을 생성하고 아래 내용을 채워주세요. (실제 프로젝트에서는lib/services/api_service.dart등에서 관리되는 방식을 확인하세요.)
OPENAI_API_KEY="여러분의 OpenAI API 키" API_BASE_URL="백엔드 서버 URL (e.g., QR 프로필 관리)" - 프로젝트 루트에
-
앱 실행
flutter run

