Skip to content

guyster323/everydiary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Everydiary ๐Ÿ“

Everydiary๋Š” ๊ฐœ์ธ ์ผ๊ธฐ ์ž‘์„ฑ๊ณผ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ Flutter ๊ธฐ๋ฐ˜ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. ์Œ์„ฑ ์ธ์‹, ํ…์ŠคํŠธ ์ธ์‹, ์ด๋ฏธ์ง€ ์ฒจ๋ถ€ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์‰ฝ๊ณ  ํŽธ๋ฆฌํ•˜๊ฒŒ ์ผ๊ธฐ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.

โœจ ์ฃผ์š” ๊ธฐ๋Šฅ

๐Ÿ” ์ธ์ฆ ์‹œ์Šคํ…œ (๊ตฌํ˜„ ์™„๋ฃŒ)

  • ์‚ฌ์šฉ์ž ๋“ฑ๋ก/๋กœ๊ทธ์ธ: ์ด๋ฉ”์ผ ๊ธฐ๋ฐ˜ ๊ณ„์ • ์ƒ์„ฑ ๋ฐ ์ธ์ฆ
  • ์ž๋™ ๋กœ๊ทธ์ธ: ์‚ฌ์šฉ์ž ์„ ํƒ์— ๋”ฐ๋ฅธ ์ž๋™ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ
  • ํ† ํฐ ๊ด€๋ฆฌ: JWT ๊ธฐ๋ฐ˜ ๋ณด์•ˆ ํ† ํฐ ์‹œ์Šคํ…œ
  • ์„ธ์…˜ ๊ด€๋ฆฌ: ์•ˆ์ „ํ•œ ์‚ฌ์šฉ์ž ์„ธ์…˜ ์œ ์ง€

๐Ÿ“ ์ผ๊ธฐ ์ž‘์„ฑ (๊ฐœ๋ฐœ ์˜ˆ์ •)

  • ํ…์ŠคํŠธ ์ž‘์„ฑ: ํ’๋ถ€ํ•œ ํ…์ŠคํŠธ ํŽธ์ง‘ ๊ธฐ๋Šฅ
  • ์Œ์„ฑ ์ธ์‹: ์Œ์„ฑ์„ ํ…์ŠคํŠธ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋น ๋ฅธ ์ผ๊ธฐ ์ž‘์„ฑ
  • ํ…์ŠคํŠธ ์ธ์‹: ์‚ฌ์ง„์˜ ํ…์ŠคํŠธ๋ฅผ ์ž๋™์œผ๋กœ ์ธ์‹ํ•˜์—ฌ ์ผ๊ธฐ์— ์ถ”๊ฐ€
  • ์ด๋ฏธ์ง€ ์ฒจ๋ถ€: ์นด๋ฉ”๋ผ ๋˜๋Š” ๊ฐค๋Ÿฌ๋ฆฌ์—์„œ ์ด๋ฏธ์ง€ ์ถ”๊ฐ€

๐Ÿท๏ธ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ (๊ฐœ๋ฐœ ์˜ˆ์ •)

  • ์นดํ…Œ๊ณ ๋ฆฌ ๊ด€๋ฆฌ: ์ผ๊ธฐ๋ฅผ ์ฃผ์ œ๋ณ„๋กœ ๋ถ„๋ฅ˜ํ•˜๊ณ  ๊ด€๋ฆฌ
  • ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ: ๊ณผ๊ฑฐ ์ผ๊ธฐ๋ฅผ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ
  • ํ†ต๊ณ„ ๋ฐ ๋ถ„์„: ์ผ๊ธฐ ์ž‘์„ฑ ํŒจํ„ด ๋ถ„์„ ๋ฐ ํ†ต๊ณ„ ์ œ๊ณต

๐Ÿ” ๋ณด์•ˆ ๋ฐ ํ”„๋ฆฌ๋ฏธ์—„ (๊ฐœ๋ฐœ ์˜ˆ์ •)

  • ์ƒ์ฒด ์ธ์ฆ: ์ง€๋ฌธ/์–ผ๊ตด ์ธ์‹์„ ํ†ตํ•œ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ
  • ํ”„๋ฆฌ๋ฏธ์—„ ๊ธฐ๋Šฅ: ์ธ์•ฑ ๊ตฌ๋งค๋ฅผ ํ†ตํ•œ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ ์ด์šฉ

๐Ÿ—๏ธ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

์ด ํ”„๋กœ์ ํŠธ๋Š” Clean Architecture ํŒจํ„ด์„ ๋”ฐ๋ผ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค:

lib/
โ”œโ”€โ”€ core/           # ํ•ต์‹ฌ ๊ธฐ๋Šฅ ๋ฐ ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ
โ”‚   โ”œโ”€โ”€ constants/  # ์•ฑ ์ƒ์ˆ˜
โ”‚   โ”œโ”€โ”€ errors/     # ์—๋Ÿฌ ์ฒ˜๋ฆฌ
โ”‚   โ”œโ”€โ”€ network/    # ๋„คํŠธ์›Œํฌ ํ†ต์‹ 
โ”‚   โ”œโ”€โ”€ utils/      # ์œ ํ‹ธ๋ฆฌํ‹ฐ ํ•จ์ˆ˜
โ”‚   โ””โ”€โ”€ widgets/    # ๊ธฐ๋ณธ ์œ„์ ฏ
โ”œโ”€โ”€ features/       # ๊ธฐ๋Šฅ๋ณ„ ๋ชจ๋“ˆ
โ”‚   โ”œโ”€โ”€ auth/       # ์ธ์ฆ ๊ธฐ๋Šฅ
โ”‚   โ”œโ”€โ”€ diary/      # ์ผ๊ธฐ ๊ด€๋ฆฌ
โ”‚   โ””โ”€โ”€ profile/    # ํ”„๋กœํ•„ ๊ด€๋ฆฌ
โ””โ”€โ”€ shared/         # ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ
    โ”œโ”€โ”€ models/     # ๋ฐ์ดํ„ฐ ๋ชจ๋ธ
    โ”œโ”€โ”€ services/   # ๊ณตํ†ต ์„œ๋น„์Šค
    โ””โ”€โ”€ widgets/    # ๊ณตํ†ต ์œ„์ ฏ

๐Ÿ“Š ํ”„๋กœ์ ํŠธ ์ƒํƒœ

โœ… ์™„๋ฃŒ๋œ ๊ธฐ๋Šฅ

  • ์ธ์ฆ ์‹œ์Šคํ…œ: ์‚ฌ์šฉ์ž ๋“ฑ๋ก, ๋กœ๊ทธ์ธ, ์ž๋™ ๋กœ๊ทธ์ธ, ํ† ํฐ ๊ด€๋ฆฌ
  • ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ: Clean Architecture ๊ธฐ๋ฐ˜ ํด๋” ๊ตฌ์กฐ
  • ์ฝ”๋“œ ํ’ˆ์งˆ: Linter ์˜ค๋ฅ˜ ํ•ด๊ฒฐ, ์„ฑ๋Šฅ ์ตœ์ ํ™”
  • ํ…Œ์ŠคํŠธ: ๊ธฐ๋ณธ ํ…Œ์ŠคํŠธ ํ†ต๊ณผ, ๋นŒ๋“œ ์„ฑ๊ณต

๐Ÿšง ๊ฐœ๋ฐœ ์ค‘์ธ ๊ธฐ๋Šฅ

  • ์ผ๊ธฐ ์ž‘์„ฑ: ๊ธฐ๋ณธ UI ๋ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • ๋ฐ์ดํ„ฐ ์ €์žฅ: ๋กœ์ปฌ ๋ฐ ์„œ๋ฒ„ ์ €์žฅ์†Œ ์—ฐ๋™

๐Ÿ“‹ ๊ฐœ๋ฐœ ์˜ˆ์ • ๊ธฐ๋Šฅ

  • ์Œ์„ฑ ์ธ์‹: ์‹ค์‹œ๊ฐ„ ์Œ์„ฑ-ํ…์ŠคํŠธ ๋ณ€ํ™˜
  • ํ…์ŠคํŠธ ์ธ์‹: OCR ๊ธฐ๋Šฅ
  • ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ: ์นด๋ฉ”๋ผ ๋ฐ ๊ฐค๋Ÿฌ๋ฆฌ ์—ฐ๋™
  • ํ†ต๊ณ„ ๋ฐ ๋ถ„์„: ์‚ฌ์šฉ ํŒจํ„ด ๋ถ„์„
  • ํ”„๋ฆฌ๋ฏธ์—„ ๊ธฐ๋Šฅ: ์ธ์•ฑ ๊ตฌ๋งค ์‹œ์Šคํ…œ

๐Ÿš€ ์‹œ์ž‘ํ•˜๊ธฐ

ํ•„์ˆ˜ ์š”๊ตฌ์‚ฌํ•ญ

  • Flutter SDK (3.9.0 ์ด์ƒ)
  • Dart SDK
  • Android Studio / VS Code
  • Android SDK (Android ๊ฐœ๋ฐœ์šฉ)
  • Xcode (iOS ๊ฐœ๋ฐœ์šฉ, macOS๋งŒ)

์„ค์น˜ ๋ฐ ์‹คํ–‰

  1. ์ €์žฅ์†Œ ํด๋ก 

    git clone https://github.com/your-username/everydiary.git
    cd everydiary
  2. ์˜์กด์„ฑ ์„ค์น˜

    flutter pub get
  3. ์ฝ”๋“œ ์ƒ์„ฑ ์‹คํ–‰ (ํ•„์š”์‹œ)

    flutter packages pub run build_runner build
  4. ์•ฑ ์‹คํ–‰

    flutter run

๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ •

  1. VS Code ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜

    • Dart
    • Flutter
    • Flutter Intl
    • Bracket Pair Colorizer
  2. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •

    cp .env.example .env
    # .env ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜์—ฌ ํ•„์š”ํ•œ API ํ‚ค ์„ค์ •

๐Ÿ› ๏ธ ๊ฐœ๋ฐœ ๋„๊ตฌ

์ฝ”๋“œ ํ’ˆ์งˆ

  • Dart Analysis: flutter analyze
  • ์ฝ”๋“œ ํฌ๋งทํŒ…: flutter format
  • ํ…Œ์ŠคํŠธ ์‹คํ–‰: flutter test

๋นŒ๋“œ

  • Debug ๋นŒ๋“œ: flutter build apk --debug
  • Release ๋นŒ๋“œ: flutter build apk --release
  • iOS ๋นŒ๋“œ: flutter build ios --release

๐Ÿ“ฑ ์ง€์› ํ”Œ๋žซํผ

  • โœ… Android (API 21+)
  • โœ… iOS (iOS 11.0+)
  • โœ… Web
  • โœ… Windows
  • โœ… macOS
  • โœ… Linux

๐Ÿงช ํ…Œ์ŠคํŠธ

# ๋‹จ์œ„ ํ…Œ์ŠคํŠธ
flutter test

# ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ
flutter test integration_test/

# ์ปค๋ฒ„๋ฆฌ์ง€ ๋ฆฌํฌํŠธ
flutter test --coverage

๐Ÿ“ฆ ์ฃผ์š” ์˜์กด์„ฑ

์ƒํƒœ ๊ด€๋ฆฌ

  • riverpod - ์ƒํƒœ ๊ด€๋ฆฌ ๋ฐ ์˜์กด์„ฑ ์ฃผ์ž…
  • flutter_riverpod - Riverpod Flutter ํ†ตํ•ฉ

๋„ค๋น„๊ฒŒ์ด์…˜

  • go_router - ์„ ์–ธ์  ๋ผ์šฐํŒ…

๋กœ์ปฌ ์ €์žฅ์†Œ

  • sqflite - SQLite ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
  • hive - NoSQL ๋กœ์ปฌ ์ €์žฅ์†Œ
  • shared_preferences - ๊ฐ„๋‹จํ•œ ์„ค์ • ์ €์žฅ

๋„คํŠธ์›Œํ‚น

  • dio - HTTP ํด๋ผ์ด์–ธํŠธ
  • http - ๊ธฐ๋ณธ HTTP ์š”์ฒญ

UI/UX

  • flutter_svg - SVG ์ด๋ฏธ์ง€ ์ง€์›
  • lottie - ์• ๋‹ˆ๋ฉ”์ด์…˜
  • cached_network_image - ์ด๋ฏธ์ง€ ์บ์‹ฑ

๊ธฐ๋Šฅ

  • speech_to_text - ์Œ์„ฑ ์ธ์‹
  • google_mlkit_text_recognition - ํ…์ŠคํŠธ ์ธ์‹
  • image_picker - ์ด๋ฏธ์ง€ ์„ ํƒ
  • local_auth - ์ƒ์ฒด ์ธ์ฆ

๐Ÿค ๊ธฐ์—ฌํ•˜๊ธฐ

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“„ ๋ผ์ด์„ ์Šค

์ด ํ”„๋กœ์ ํŠธ๋Š” MIT ๋ผ์ด์„ ์Šค ํ•˜์— ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ LICENSE ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๐Ÿ“ž ์ง€์›

๋ฌธ์ œ๊ฐ€ ์žˆ๊ฑฐ๋‚˜ ์ œ์•ˆ์‚ฌํ•ญ์ด ์žˆ์œผ์‹œ๋ฉด Issues๋ฅผ ํ†ตํ•ด ์•Œ๋ ค์ฃผ์„ธ์š”.


Everydiary๋กœ ๋” ๋‚˜์€ ์ผ๊ธฐ ์ž‘์„ฑ ๊ฒฝํ—˜์„ ์‹œ์ž‘ํ•ด๋ณด์„ธ์š”! โœจ

About

diary

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors