Skip to content

2026-TU-Capstone-Project/Frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

135 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿงข 2026 TU Capstone Project - ๋‹ค์ด๋ฒ„๋ฐ”

Flutter Dart Android Studio

๐Ÿ›  ๊ธฐ์ˆ  ์Šคํƒ

Category Technology Description
Framework Flutter 3.x Cross-platform UI Toolkit
Language Dart 3.x Main Programming Language
State Management Riverpod ์ƒํƒœ ๊ด€๋ฆฌ (MVVM ํŒจํ„ด ์ ์šฉ)
Network Dio + Retrofit REST API ํ†ต์‹  ๋ฐ ๋ฐ์ดํ„ฐ ๋งคํ•‘
Local Storage FlutterSecureStorage ์•ก์„ธ์Šค ํ† ํฐ ๋ฐ ๋ฏผ๊ฐ ๋ฐ์ดํ„ฐ ์ €์žฅ

๐Ÿš€ ์‹œ์ž‘ํ•˜๊ธฐ (Android ๊ฐ€์ด๋“œ)

์ด ํ”„๋กœ์ ํŠธ๋ฅผ Android ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ƒ์„ธ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค. Flutter ํ™˜๊ฒฝ ์„ค์ •์ด ์ฒ˜์Œ์ด๋ผ๋ฉด 1. ์‚ฌ์ „ ์ค€๋น„ ์‚ฌํ•ญ๋ถ€ํ„ฐ ์ฐจ๊ทผ์ฐจ๊ทผ ์ง„ํ–‰ํ•ด ์ฃผ์„ธ์š”.

1. ์‚ฌ์ „ ์ค€๋น„ ์‚ฌํ•ญ

์•ฑ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ ๋„๊ตฌ๋“ค์ด ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. Flutter SDK ์„ค์น˜: ๊ณต์‹ ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์„ค์น˜ ๋ฐ ํ™˜๊ฒฝ ๋ณ€์ˆ˜(PATH)๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  2. Android Studio ์„ค์น˜: ์•ˆ๋“œ๋กœ์ด๋“œ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ๊ตฌ๋™์„ ์œ„ํ•ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
    • ์„ค์น˜ ์‹œ Android SDK, Android SDK Platform-Tools, Android Virtual Device ํ•ญ๋ชฉ์„ ์ฒดํฌํ•ด์ฃผ์„ธ์š”.
  3. Flutter Plugin ์„ค์น˜: Android Studio > Settings > Plugins ์—์„œ Flutter์™€ Dart ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์„ค์น˜ํ•˜๊ณ  IDE๋ฅผ ์žฌ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ํ„ฐ๋ฏธ๋„(CMD/PowerShell)์—์„œ ๋‹ค์Œ ๋ช…๋ น์–ด๋กœ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

flutter doctor
# ๋ชจ๋“  ํ•ญ๋ชฉ์— ์ฒดํฌ(v)๊ฐ€ ๋˜์–ด ์žˆ์–ด์•ผ ์ •์ƒ์ž…๋‹ˆ๋‹ค.
# [!] ํ‘œ์‹œ๊ฐ€ ์žˆ๋‹ค๋ฉด ํ•ด๋‹น ์—๋Ÿฌ ๋ฉ”์‹œ์ง€์˜ ๊ฐ€์ด๋“œ๋ฅผ ๋”ฐ๋ผ ํ•ด๊ฒฐํ•ด์ฃผ์„ธ์š”.

2. ์„ค์น˜

๋‹จ๊ณ„ 1. ํ”„๋กœ์ ํŠธ ๋ณต์ œ

git clone [https://github.com/2026-TU-Capstone-Project/Frontend.git](https://github.com/2026-TU-Capstone-Project/Frontend.git)
cd Frontend

๋‹จ๊ณ„ 2. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜

ํ”„๋กœ์ ํŠธ์— ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋“ค์„ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

flutter pub get

๋‹จ๊ณ„ 3. ์ฝ”๋“œ ์ƒ์„ฑ โญ ์ค‘์š”

์ด ํ”„๋กœ์ ํŠธ๋Š” Retrofit๊ณผ JsonSerializable์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•˜๊ณ  .g.dart ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ˜๋“œ์‹œ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

flutter pub run build_runner build --delete-conflicting-outputs

3. ์•ฑ ์‹คํ–‰

Option A. ์—๋ฎฌ๋ ˆ์ดํ„ฐ(Emulator) ์‹คํ–‰

Android Studio > Device Manager ์‹คํ–‰.

Create Device > ์›ํ•˜๋Š” ๊ธฐ๊ธฐ(์˜ˆ: Pixel 7) ์„ ํƒ > ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ(API 33 ์ด์ƒ ๊ถŒ์žฅ) > ์ƒ์„ฑ.

์žฌ์ƒ ๋ฒ„ํŠผ(โ–ถ)์„ ๋ˆŒ๋Ÿฌ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์ผญ๋‹ˆ๋‹ค.
Option B. ์‹ค๋ฌผ ๊ธฐ๊ธฐ(Physical Device) ์—ฐ๊ฒฐ

์•ˆ๋“œ๋กœ์ด๋“œ ํฐ ์„ค์ • > ํœด๋Œ€์ „ํ™” ์ •๋ณด > ๋นŒ๋“œ ๋ฒˆํ˜ธ 7๋ฒˆ ํ„ฐ์น˜ (๊ฐœ๋ฐœ์ž ๋ชจ๋“œ ํ™œ์„ฑํ™”).

์„ค์ • > ๊ฐœ๋ฐœ์ž ์˜ต์…˜ > USB ๋””๋ฒ„๊น… ์ผœ๊ธฐ.

PC์™€ USB ์ผ€์ด๋ธ”๋กœ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

Command (ํ„ฐ๋ฏธ๋„์—์„œ ์‹คํ–‰) ๊ธฐ๊ธฐ๊ฐ€ ์—ฐ๊ฒฐ๋œ ์ƒํƒœ์—์„œ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”.
# Debug Mode
flutter run

# Release Mode
flutter run --release

4. ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

ํ”„๋กœ์ ํŠธ์˜ ํ˜„์žฌ ํด๋” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. (Last Update: 04/05)

lib/
โ”œโ”€โ”€ ๐Ÿ“‚ chat/                           # [๊ธฐ๋Šฅ] AI ์ฑ„ํŒ…ยท๊ฒ€์ƒ‰
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ model/
โ”‚   โ”‚   โ”œโ”€โ”€ chat_model.dart            # ์ฑ„ํŒ… ๋ฉ”์‹œ์ง€ ๋ชจ๋ธ (Weather & History ์—ฐ๋™)
โ”‚   โ”‚   โ””โ”€โ”€ chat_model.g.dart          # [Generated]
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ provider/
โ”‚   โ”‚   โ””โ”€โ”€ chat_provider.dart         # ์ฑ„ํŒ… ์ƒํƒœ ๊ด€๋ฆฌ (๋‚ ์”จ ์กฐํšŒ ๋ฐ Context ์œ ์ง€)
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ repository/
โ”‚   โ”‚   โ”œโ”€โ”€ chat_repository.dart       # ์ฑ„ํŒ… API
โ”‚   โ”‚   โ””โ”€โ”€ chat_repository.g.dart     # [Generated]
โ”‚   โ””โ”€โ”€ ๐Ÿ“‚ view/
โ”‚       โ”œโ”€โ”€ ai_chat_screen.dart        # AI ์ฑ„ํŒ… ํ™”๋ฉด
โ”‚       โ””โ”€โ”€ ai_search_screen.dart      # AI ๊ฒ€์ƒ‰ ํ™”๋ฉด
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ common/                         # [๊ณตํ†ต] ์•ฑ ์ „๋ฐ˜ ์žฌ์‚ฌ์šฉ ์ฝ”๋“œ
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ camera/
โ”‚   โ”‚   โ””โ”€โ”€ photo_guide_screen.dart    # ์ดฌ์˜ ๊ฐ€์ด๋“œ (์ „์‹ ยท์ƒ๋ฐ˜์‹ )
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ component/
โ”‚   โ”‚   โ””โ”€โ”€ style_analysis_widget.dart # ์Šคํƒ€์ผ ๋ถ„์„ ์œ„์ ฏ
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ const/
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ Component/
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ custom_text_form_field.dart
โ”‚   โ”‚   โ”œโ”€โ”€ colors.dart                # ์•ฑ ๋ฉ”์ธ ์ƒ‰์ƒ ์ •์˜
โ”‚   โ”‚   โ””โ”€โ”€ data.dart                  # ์ƒ์ˆ˜ ๋ฐ์ดํ„ฐ (API URL ๋“ฑ)
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ layout/
โ”‚   โ”‚   โ””โ”€โ”€ default_layout.dart        # ๊ธฐ๋ณธ ๋ ˆ์ด์•„์›ƒ
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ model/
โ”‚   โ”‚   โ”œโ”€โ”€ api_response.dart          # API ๊ณตํ†ต ์‘๋‹ต ๋ชจ๋ธ
โ”‚   โ”‚   โ””โ”€โ”€ api_response.g.dart        # [Generated]
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ network/
โ”‚   โ”‚   โ””โ”€โ”€ auth_dio.dart              # Bearer ํ† ํฐ + 401 ๊ฐฑ์‹  Dio
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ provider/
โ”‚   โ”‚   โ””โ”€โ”€ dio_provider.dart          # Dio ์ธ์Šคํ„ด์Šค ํ”„๋กœ๋ฐ”์ด๋”
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ view/
โ”‚   โ”‚   โ””โ”€โ”€ root_tab.dart              # ํ•˜๋‹จ ํƒญ๋ฐ”
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ widget/
โ”‚   โ”‚   โ””โ”€โ”€ app_dialog.dart            # ๊ณตํ†ต ๋‹ค์ด์–ผ๋กœ๊ทธ ์œ ํ‹ธ
โ”‚   โ””โ”€โ”€ app_router.dart                # ์ „์—ญ Navigator ํ‚ค
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ feed/                           # [๊ธฐ๋Šฅ] ํŒจ์…˜ ํ”ผ๋“œ
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ component/
โ”‚   โ”‚   โ””โ”€โ”€ feed_detail_sheet.dart     # ํ”ผ๋“œ ์ƒ์„ธ ๋ฐ”ํ…€์‹œํŠธ
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ model/
โ”‚   โ”‚   โ”œโ”€โ”€ feed_model.dart            # ํ”ผ๋“œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ
โ”‚   โ”‚   โ””โ”€โ”€ feed_model.g.dart          # [Generated]
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ provider/
โ”‚   โ”‚   โ””โ”€โ”€ feed_provider.dart         # ํ”ผ๋“œ ์ƒํƒœ ๊ด€๋ฆฌ
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ repository/
โ”‚   โ”‚   โ”œโ”€โ”€ feed_repository.dart       # ํ”ผ๋“œ API
โ”‚   โ”‚   โ””โ”€โ”€ feed_repository.g.dart     # [Generated]
โ”‚   โ””โ”€โ”€ ๐Ÿ“‚ view/
โ”‚       โ”œโ”€โ”€ fashion_feed_screen.dart   # ํ”ผ๋“œ ๋ฉ”์ธ ๋ฆฌ์ŠคํŠธ
โ”‚       โ”œโ”€โ”€ feed_detail_screen.dart    # ํ”ผ๋“œ ์ƒ์„ธ
โ”‚       โ”œโ”€โ”€ feed_write_screen.dart     # ํ”ผ๋“œ ์ž‘์„ฑ
โ”‚       โ””โ”€โ”€ my_feed_list_screen.dart   # ๋‚ด ํ”ผ๋“œ ๋ชฉ๋ก
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ fitting/                        # [๊ธฐ๋Šฅ] ๊ฐ€์ƒ ํ”ผํŒ…๋ฃธ
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ clothes/                    # ์˜ท ๋ฐ์ดํ„ฐยท์ถ”์ฒœ
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ model/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ clothes_model.dart
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ recommend_model.dart
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ weather_recommend_model.dart
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ provider/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ clothes_provider.dart
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ recommend_provider.dart
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“‚ repository/
โ”‚   โ”‚       โ”œโ”€โ”€ clothes_repository.dart
โ”‚   โ”‚       โ””โ”€โ”€ recommend_repository.dart
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ clothes_set/                # ์ฝ”๋”” ํด๋” (์ฐฉ์žฅ ์ €์žฅ)
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ component/
โ”‚   โ”‚   โ”œโ”€โ”€ fit_type_selector.dart      # ํ•๊ฐ ์นด๋“œ ์…€๋ ‰ํ„ฐ
โ”‚   โ”‚   โ”œโ”€โ”€ fitting_main_stage.dart     # ์ „์‹ ยท์ƒํ•˜์˜ ์„ ํƒ ๋ทฐ
โ”‚   โ”‚   โ””โ”€โ”€ fitting_room_header.dart    # ํ”ผํŒ…๋ฃธ ์ƒ๋‹จ ํ—ค๋”
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ model/
โ”‚   โ”‚   โ”œโ”€โ”€ fit_type.dart              # ํ•๊ฐ enum (SLIM, REGULAR, OVERSIZED)
โ”‚   โ”‚   โ””โ”€โ”€ fitting_model.dart         # ํ”ผํŒ… ๊ฒฐ๊ณผ ๋ชจ๋ธ
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ provider/
โ”‚   โ”‚   โ””โ”€โ”€ fitting_provider.dart      # ํ”ผํŒ… ์ƒํƒœ ๊ด€๋ฆฌ
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ repository/
โ”‚   โ”‚   โ”œโ”€โ”€ fitting_repository.dart    # ํ”ผํŒ… API (SSE, fit_type ํฌํ•จ)
โ”‚   โ”‚   โ””โ”€โ”€ weather_recommendation_repository.dart
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ util/
โ”‚   โ”‚   โ”œโ”€โ”€ clothes_category_util.dart
โ”‚   โ”‚   โ””โ”€โ”€ weather_util.dart          # OpenWeatherMap ๋‚ ์”จ ํŒŒ์‹ฑ
โ”‚   โ””โ”€โ”€ ๐Ÿ“‚ view/
โ”‚       โ”œโ”€โ”€ fitting_room_screen.dart   # ํ”ผํŒ…๋ฃธ ๋ฉ”์ธ ํ™”๋ฉด
โ”‚       โ””โ”€โ”€ weather_recommendation_screen.dart
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ home/                           # [๊ธฐ๋Šฅ] ํ™ˆ ํ™”๋ฉด
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ component/
โ”‚   โ”‚   โ””โ”€โ”€ weather_card.dart          # ๋‚ ์”จ ์นด๋“œ ์œ„์ ฏ
โ”‚   โ””โ”€โ”€ ๐Ÿ“‚ view/
โ”‚       โ”œโ”€โ”€ home_screen.dart           # ํ™ˆ ๋ฉ”์ธ ํ™”๋ฉด
โ”‚       โ””โ”€โ”€ weather_style_screen.dart  # ๋‚ ์”จ๋ณ„ ์Šคํƒ€์ผ ํ™”๋ฉด
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ personal_closet/                # [๊ธฐ๋Šฅ] ๋‚˜๋งŒ์˜ ์˜ท์žฅ
โ”‚   โ””โ”€โ”€ ๐Ÿ“‚ view/
โ”‚       โ”œโ”€โ”€ clothes_set_list_screen.dart
โ”‚       โ””โ”€โ”€ wardrobe_screen.dart        # ์˜ท์žฅ ๋ฉ”์ธ
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ user/                           # [๊ธฐ๋Šฅ] ํšŒ์›ยท์ธ์ฆยทํ”„๋กœํ•„
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ model/
โ”‚   โ”‚   โ””โ”€โ”€ auth_model.dart
โ”‚   โ””โ”€โ”€ ๐Ÿ“‚ view/
โ”‚       โ”œโ”€โ”€ login_screen.dart
โ”‚       โ””โ”€โ”€ user_profile_screen.dart
โ”‚
โ””โ”€โ”€ main.dart                          # ์•ฑ ์ง„์ž…์  (MaterialApp)

โœจ ์ตœ์‹  ํ•ต์‹ฌ ๊ธฐ๋Šฅ ์—…๋ฐ์ดํŠธ

  • Virtual Fitting API Synchronization:
    • ๊ฐ€์ƒ ํ”ผํŒ… ๋ฉ”์ธ ๋ชจ๋ธ ์ด๋ฏธ์ง€ ๋กœ๋”ฉ ๋กœ์ง์„ ๋กœ์ปฌ ์บ์‹œ์—์„œ ์„œ๋ฒ„ ํ”„๋กœํ•„ ๊ธฐ๋ฐ˜ ์šฐ์„  ํ˜ธ์ถœ(Single Source of Truth) ๋ฐฉ์‹์œผ๋กœ ์™„๋ฒฝํžˆ ํ†ตํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ์‹ ๊ทœ API ๋ช…์„ธ์— ๋งž์ถฐ ๊ฐ€์ƒ ํ”ผํŒ… ์š”์ฒญ ์‹œ fit_type (SLIM_FIT, REGULAR_FIT, OVERSIZED_FIT) ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • Weather-based Style Recommendation:
    • OpenWeatherMap GPS ๊ธฐ๋ฐ˜ ๋‚ ์”จ ํ˜ธ์ถœ ๋กœ์ง์„ ๊ฐœ์„ ํ•˜์—ฌ, ๋ฐฑ์—”๋“œ๊ฐ€ ์š”๊ตฌํ•˜๋Š” ๊ฐ•์ˆ˜๋Ÿ‰(rain), ์ ์„ค๋Ÿ‰(snow), ํ’์†(windSpeed), ์Šต๋„(humidity) ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋ชจ๋‘ ์„ฑ๊ณต์ ์œผ๋กœ ํŒŒ์‹ฑํ•˜๊ณ  API(/api/v1/virtual-fitting/recommendation/weather-style)๋ฅผ GET์—์„œ POST ๋ฐฉ์‹์œผ๋กœ ๊ทœ๊ฒฉํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • AI Stylist Chatbot (Gemini):
    • AI ์ฑ—๋ด‡ ํ†ต์‹  ์‹œ ํ”„๋ก ํŠธ์—”๋“œ์—์„œ ํ˜„์žฌ ๋‚ ์”จ ๋ฐ์ดํ„ฐ๋ฅผ ๋ž˜ํ•‘ํ•˜์—ฌ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ „์†กํ•˜๋„๋ก ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ์ฑ—๋ด‡ ๋Œ€ํ™” ๊ฐ„์˜ ๋ฌธ๋งฅ ์œ ์ง€๋ฅผ ์œ„ํ•ด ์ด์ „ ๋Œ€ํ™” ๋‚ด์—ญ(history)์„ assistant ์™€ user Role๋กœ ์น˜ํ™˜ํ•˜์—ฌ ๋ฐœ์†กํ•˜๋Š” ๋“ฑ ๊ธฐ๋Šฅ์  ์™„์„ฑ๋„๋ฅผ ๊ทน๋Œ€ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“ธ ์Šคํฌ๋ฆฐ์ƒท

App Screenshot 1 App Screenshot 2 App Screenshot 3
App Screenshot 4 App Screenshot 5 App Screenshot 6
App Screenshot 7

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors