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

  1. 상수 및 토큰 기반 UI (하드코딩 금지)
  2. 엄격한 데이터 흐름 제어 (Security Hardening)
  3. 명확한 상태 관리UiState<T> 패턴
  4. 한글 문서화 체계

🚀 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