Guda-주역 (구다 주역)
Screenshots
Guda — 주역(周易) 특화 AI 챗봇 앱
Guda-주역은 주역 64괘의 지혜를 바탕으로 사용자와 대화하며 통찰을 제공하는 AI 챗봇 애플리케이션입니다. Flutter 안티 그래비티 아키텍처 지침을 엄격하게 준수하여 안전하고 확장성 있게 설계되었습니다.
🛠 사용 기술 및 라이브러리 (Tech Stack & Libraries)
1. Framework & Core
- Flutter (SDK:
^3.11.1): 크로스 플랫폼 UI 프레임워크 - Dart: 언어 및 런타임 환경
2. State Management & Architecture (상태 관리 및 아키텍처)
flutter_riverpod(^3.3.1): 앱 전역 상태 및 의존성 주입(DI)을 위한 상태 관리 라이브러리riverpod_annotation/riverpod_generator: Riverpod 코드 제너레이션freezed/freezed_annotation: 불변(Immutable) 데이터 모델과 Union 타입
3. Routing (라우팅)
go_router(^17.1.0): 선언형 라우팅 및 딥링크 처리
4. Network & Backend (네트워크 및 백엔드)
dio(^5.9.2): HTTP 클라이언트, RPC 통신supabase_flutter(^2.12.0): Supabase 백엔드(PostgreSQL) 연동
5. Authentication (인증)
google_sign_in(^6.2.2): Google 소셜 로그인- Supabase Auth: Apple, Google 플랫폼 연결
6. Local Storage & Utilities (로컬 저장소 및 유틸리티)
flutter_secure_storage(^10.0.0): 민감 정보 암호화 저장path_provider/uuid/share_plus: 유틸리티
7. UI & Asset Management
flutter_markdown/lottie/google_fonts: UI 컴포넌트
8. Code Generation
build_runner/json_serializable/json_annotation: 코드 생성
📁 Directory Structure
lib/
├─ app/ # 앱 진입, 라우터, 테마, 초기화(bootstrap) 설정
├─ core/ # 전역 기능 (보안, 네트워크, 디자인 시스템, 공통 UI)
└─ features/ # 도메인별 기능 (Feature 단위 분리)
├─ domain/ # [순수 Dart] 비즈니스 로직, 엔티티, 인터페이스
├─ data/ # DTO 모델, 데이터 소스, 리포지토리 구현체
└─ presentation/ # UI 컴포넌트, 화면(Screen), Riverpod ViewModel
🏗 Architecture & Guidelines
- 상수 및 토큰 기반 UI (하드코딩 금지)
- 엄격한 데이터 흐름 제어 (Security Hardening)
- 명확한 상태 관리 —
UiState<T>패턴 - 한글 문서화 체계
🚀 Getting Started
Prerequisites
- Flutter SDK
^3.11.1이상 - 연결된 Supabase 프로젝트
Installation & Run
flutter pub get
dart run build_runner build --delete-conflicting-outputs
flutter run --dart-define-from-file=.env