SnapFig์ ์ค์นํ๊ณ ์คํํ๋ ์์ธํ ๊ฐ์ด๋์ ๋๋ค.
- Flutter SDK: 3.7.2 ์ด์
- Dart SDK: 3.0 ์ด์
- IDE: Android Studio, VS Code, ๋๋ IntelliJ IDEA
- Git: ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ํด ํ์
- Android Studio: ์ต์ ๋ฒ์ ๊ถ์ฅ
- Android SDK: API ๋ ๋ฒจ 25 (Android 7.1) ์ด์
- Xcode: 14.0 ์ด์
- iOS Deployment Target: iOS 12.0 ์ด์
- CocoaPods: ์์กด์ฑ ๊ด๋ฆฌ๋ฅผ ์ํด ํ์
# Homebrew๋ฅผ ์ฌ์ฉํ ์ค์น
brew install flutter
# ๋๋ ๊ณต์ ์ฌ์ดํธ์์ ๋ค์ด๋ก๋
# https://docs.flutter.dev/get-started/install/macos# Chocolatey๋ฅผ ์ฌ์ฉํ ์ค์น
choco install flutter
# ๋๋ ๊ณต์ ์ฌ์ดํธ์์ ๋ค์ด๋ก๋
# https://docs.flutter.dev/get-started/install/windows# Snap์ ์ฌ์ฉํ ์ค์น
sudo snap install flutter --classic
# ๋๋ ๊ณต์ ์ฌ์ดํธ์์ ๋ค์ด๋ก๋
# https://docs.flutter.dev/get-started/install/linux# Flutter ์ค์น ์ํ ํ์ธ
flutter doctor
# ๋๋ฝ๋ ์์กด์ฑ์ด ์๋ค๋ฉด ์๋ด์ ๋ฐ๋ผ ์ค์น# ์ ์ฅ์ ํด๋ก
git clone https://github.com/CommitBang/Frontend.git
cd Frontend
# ์์กด์ฑ ์ค์น
flutter pub get
# ์ฝ๋ ์์ฑ (Isar ๋ฐ์ดํฐ๋ฒ ์ด์ค์ฉ)
flutter packages pub run build_runner buildSnapFig์ OCR ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ค๋ฉด ๋ฐฑ์๋ OCR ์๋ฒ๊ฐ ํ์ํฉ๋๋ค.
- ํ๊ฒฝ ๋ณ์ ํ์ผ ์์ฑ
ํ๋ก์ ํธ ๋ฃจํธ์
.envํ์ผ์ ์์ฑํ๊ณ ๋ค์ ๋ด์ฉ์ ์ถ๊ฐ:
# OCR ์๋ฒ ์ค์
OCR_BASE_URL=http://your-ocr-server.com-
OCR ์๋ฒ ์๊ตฌ์ฌํญ OCR ์๋ฒ๋ ๋ค์ ์๋ํฌ์ธํธ๋ฅผ ์ ๊ณตํด์ผ ํฉ๋๋ค:
POST /api/v1/analyze: PDF ๋ถ์ ๋ฐ Figure ์ถ์ถ
๐ OCR ์๋ฒ ๊ตฌ์ถ: PDFRecognitionAPI ์ฐธ์กฐ
AI ๊ธฐ๋ฅ์ ์ฑ ๋ด์์ ์ค์ ํ ์ ์์ต๋๋ค.
- OpenAI Platform์์ API ํค ๋ฐ๊ธ
- ์ฑ ์คํ ํ ์ค์ ํ๋ฉด์์ API ํค ์ ๋ ฅ
- ๋ชจ๋ธ ์ ํ (GPT-4 ๊ถ์ฅ)
- Google Cloud Console์์ API ํค ๋ฐ๊ธ
- Gemini API ํ์ฑํ
- ์ฑ ์ค์ ์์ API ํค ์ ๋ ฅ
# ์ฐ๊ฒฐ๋ ๊ธฐ๊ธฐ ํ์ธ
flutter devices
# ์ฑ ์คํ (๊ธฐ๋ณธ ๊ธฐ๊ธฐ)
flutter run
# ํน์ ๊ธฐ๊ธฐ์์ ์คํ
flutter run -d <device_id>
# ๋๋ฒ๊ทธ ๋ชจ๋๋ก ์คํ
flutter run --debug
# ๋ฆด๋ฆฌ์ฆ ๋ชจ๋๋ก ์คํ
flutter run --release# Android ์๋ฎฌ๋ ์ดํฐ ์คํ
flutter emulators --launch <emulator_id>
# Android ๊ธฐ๊ธฐ์์ ์คํ
flutter run -d android# iOS ์๋ฎฌ๋ ์ดํฐ ์คํ
open -a Simulator
# iOS ๊ธฐ๊ธฐ์์ ์คํ
flutter run -d ios- Flutter: Flutter ๊ฐ๋ฐ ์ง์
- Dart: Dart ์ธ์ด ์ง์
- Flutter Widget Snippets: ์์ ฏ ์ค๋ํซ
- Awesome Flutter Snippets: ์ถ๊ฐ ์ค๋ํซ
- Flutter Plugin: Flutter ๊ฐ๋ฐ ์ง์
- Dart Plugin: Dart ์ธ์ด ์ง์
# ๋ชจ๋ ํ
์คํธ ์คํ
flutter test
# ํน์ ํ
์คํธ ํ์ผ ์คํ
flutter test test/unit/pdf_service_test.dart
# ์ปค๋ฒ๋ฆฌ์ง ํฌํจ ํ
์คํธ
flutter test --coverage# ํตํฉ ํ
์คํธ ์คํ
flutter test integration_test/
# ํน์ ํตํฉ ํ
์คํธ
flutter test integration_test/app_test.dart# ๋๋ฒ๊ทธ APK ๋น๋
flutter build apk --debug
# ๋ฆด๋ฆฌ์ฆ APK ๋น๋
flutter build apk --release
# App Bundle ๋น๋ (Google Play Store์ฉ)
flutter build appbundle --release# iOS ์ฑ ๋น๋
flutter build ios --release
# Xcode์์ ๋น๋
open ios/Runner.xcworkspace# Flutter ์ค์น ์ํ ์ฌํ์ธ
flutter doctor -v
# Flutter ์
๊ทธ๋ ์ด๋
flutter upgrade# ์์กด์ฑ ์ฌ์ค์น
flutter clean
flutter pub get# ๋น๋ ๋ฌ๋ ์ฌ์คํ
flutter packages pub run build_runner clean
flutter packages pub run build_runner build --delete-conflicting-outputs# CocoaPods ์ฌ์ค์น
cd ios
pod deintegrate
pod install
cd ..๋ฌธ์ ๊ฐ ์ง์๋๋ฉด ๋ค์ ๋ฆฌ์์ค๋ฅผ ์ฐธ์กฐํ์ธ์:
- Flutter ๊ณต์ ๋ฌธ์: flutter.dev
- ํ๋ก์ ํธ ์ด์: GitHub Issues
- Flutter ์ปค๋ฎค๋ํฐ: Flutter Discord
์ค์น๊ฐ ์๋ฃ๋์๋ค๋ฉด:
- ํ๋ก์ ํธ ๊ตฌ์กฐ ๋ฌธ์๋ก ์ฝ๋๋ฒ ์ด์ค ์ดํดํ๊ธฐ
- ๊ธฐ์ฌ ๊ฐ์ด๋ ๋ฌธ์๋ก ๊ฐ๋ฐ ํ๋ก์ธ์ค ํ์ตํ๊ธฐ
- ๋ธ๋์น ์ ๋ต ๋ฌธ์๋ก Git ์ํฌํ๋ก์ฐ ํ์ ํ๊ธฐ