Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

8 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿช Planeat - AI ์˜์ˆ˜์ฆ ๊ธฐ๋ฐ˜ ๋งž์ถคํ˜• ์‹๋‹จ ๋ถ„์„ ์„œ๋น„์Šค

Planeat Logo

๐Ÿ“‹ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

Planeat์€ ์˜์ˆ˜์ฆ ์‚ฌ์ง„๋งŒ์œผ๋กœ AI๊ฐ€ ๊ฐœ์ธ ๋งž์ถคํ˜• ์‹๋‹จ์„ ๋ถ„์„ํ•˜๊ณ  ๊ฑด๊ฐ•ํ•œ ๋ผ์ดํ”„์Šคํƒ€์ผ์„ ์ œ์•ˆํ•˜๋Š” ์Šค๋งˆํŠธ ํ—ฌ์Šค์ผ€์–ด ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

๋ฐ”์œ ํ˜„๋Œ€์ธ๋“ค์ด ์‰ฝ๊ฒŒ ์ž์‹ ์˜ ์‹์Šต๊ด€์„ ์ ๊ฒ€ํ•˜๊ณ  ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก, ๋ณต์žกํ•œ ์˜์–‘ ๊ณ„์‚ฐ ์—†์ด๋„ ์ „๋ฌธ์ ์ธ ๊ฑด๊ฐ• ์กฐ์–ธ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐ŸŽฏ ํ•ต์‹ฌ ๊ธฐ๋Šฅ

  • ๐Ÿ“ธ ์˜์ˆ˜์ฆ OCR ๋ถ„์„: Google Cloud Vision API๋กœ ์˜์ˆ˜์ฆ ํ…์ŠคํŠธ ์ž๋™ ์ธ์‹
  • ๐Ÿค– AI ๋งž์ถค ๋ถ„์„: Gemini AI๊ฐ€ ๊ฐœ์ธ ์ •๋ณด ๊ธฐ๋ฐ˜ ์‹๋‹จ ํ‰๊ฐ€ ๋ฐ ์กฐ์–ธ ์ œ๊ณต
  • ๐Ÿ“Š ์˜์–‘์†Œ ์ ์ˆ˜ํ™”: ๋‹จ๋ฐฑ์งˆ, ํƒ„์ˆ˜ํ™”๋ฌผ, ์ง€๋ฐฉ, ๋น„ํƒ€๋ฏผ ๋“ฑ 4๊ฐœ ์˜์—ญ๋ณ„ ์ ์ˆ˜ ์ œ๊ณต
  • ๐Ÿฝ๏ธ ๊ฐœ์ธํ™” ์‹๋‹จ ์ œ์•ˆ: ์„ฑ๋ณ„, ์ฒด์ค‘, ๊ฑด๊ฐ• ๋ชฉํ‘œ์— ๋”ฐ๋ฅธ ๋งž์ถคํ˜• ์‹๋‹จ ์ถ”์ฒœ
  • ๐Ÿ’Š ์˜์–‘์ œ ์ถ”์ฒœ: ๋ถ€์กฑํ•œ ์˜์–‘์†Œ ๊ธฐ๋ฐ˜ ์˜์–‘์ œ ๋ฐ ์‹ํ’ˆ ์ถ”์ฒœ
  • ๐ŸŽจ ์ง๊ด€์  UI/UX: Streamlit ๊ธฐ๋ฐ˜ ๋ฐ˜์‘ํ˜• ์›น ์ธํ„ฐํŽ˜์ด์Šค

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

Frontend

Streamlit HTML5 CSS3

Backend & AI

Python Google Cloud Gemini AI

APIs & Services

  • Google Cloud Vision API: ์˜์ˆ˜์ฆ ํ…์ŠคํŠธ ์ถ”์ถœ (OCR)
  • Google Gemini API: AI ๊ธฐ๋ฐ˜ ์‹๋‹จ ๋ถ„์„ ๋ฐ ์ถ”์ฒœ
  • Google AI Studio: AI ๋ชจ๋ธ ํ”„๋กฌํ”„ํŠธ ์„ค๊ณ„ ๋ฐ ํ…Œ์ŠคํŠธ

๐Ÿ“ธ ์„œ๋น„์Šค ๋ฏธ๋ฆฌ๋ณด๊ธฐ

๋ฉ”์ธ ํ™”๋ฉด

  • ๐Ÿช ์ปค์Šคํ…€ SVG ๋กœ๊ณ ์™€ ๊ทธ๋ผ๋ฐ์ด์…˜ ๋””์ž์ธ
  • ์ง๊ด€์ ์ธ 4๋‹จ๊ณ„ ์‚ฌ์šฉ์ž ์ •๋ณด ์ž…๋ ฅ ํผ

๋ถ„์„ ๊ฒฐ๊ณผ ํ™”๋ฉด

  • ๐Ÿ“Š 4๊ฐœ ์˜์—ญ๋ณ„ ์˜์–‘์†Œ ์ ์ˆ˜ (100์  ๋งŒ์ )
  • ๐Ÿฝ๏ธ ์•„์นจ/์ ์‹ฌ/์ €๋… ๋งž์ถคํ˜• ์‹๋‹จ ์ œ์•ˆ
  • ๐Ÿ’ช ๊ฐœ์ธ ๊ฑด๊ฐ• ๋ชฉํ‘œ ๊ธฐ๋ฐ˜ ๊ฐœ์„  ํฌ์ธํŠธ ์ œ์‹œ
  • ๐Ÿš€ ์ถ”๊ฐ€ ๊ตฌ๋งค ์ถ”์ฒœ ์‹์žฌ๋ฃŒ ๋ฐ ์˜์–‘์ œ ์ •๋ณด

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

ํ•„์ˆ˜ ์กฐ๊ฑด

Python 3.8+
Streamlit
Google Cloud Vision API ๊ณ„์ •
Google Gemini API ํ‚ค

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

  1. ๋ ˆํฌ์ง€ํ† ๋ฆฌ ํด๋ก 
git clone https://github.com/your-username/planeat.git
cd planeat
  1. ์˜์กด์„ฑ ์„ค์น˜
pip install streamlit google-cloud-vision google-generativeai
  1. API ํ‚ค ์„ค์ • .streamlit/secrets.toml ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ๋‹ค์Œ ๋‚ด์šฉ์„ ์ถ”๊ฐ€:
GEMINI_API_KEY = "your-gemini-api-key"
GOOGLE_CLOUD_VISION_API_KEY_JSON = '''
{
  "type": "service_account",
  "project_id": "your-project-id",
  "private_key_id": "your-private-key-id",
  "private_key": "your-private-key",
  "client_email": "your-client-email",
  "client_id": "your-client-id",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token"
}
'''
  1. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰
streamlit run app.py

๐Ÿ’ก ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

1๋‹จ๊ณ„: ๊ธฐ๋ณธ ์ •๋ณด ์ž…๋ ฅ

  • ์„ฑ๋ณ„, ์‹ ์žฅ(cm), ์ฒด์ค‘(kg) ์ž…๋ ฅ
  • ๊ฑด๊ฐ• ๋ชฉํ‘œ ์„ ํƒ (๋‹ค์ด์–ดํŠธ/๊ทผ์œก์ฆ๊ฐ€/๊ฑด๊ฐ•์œ ์ง€/์ฒด์ค‘์ฆ๊ฐ€)

2๋‹จ๊ณ„: ์˜์ˆ˜์ฆ ์—…๋กœ๋“œ

  • JPG, PNG ํ˜•์‹์˜ ์˜์ˆ˜์ฆ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ
  • AI๊ฐ€ ์ž๋™์œผ๋กœ ํ…์ŠคํŠธ ์ธ์‹ ๋ฐ ์‹์žฌ๋ฃŒ ์ถ”์ถœ

3๋‹จ๊ณ„: AI ๋ถ„์„ ์‹คํ–‰

  • "๐Ÿ” ์‹๋‹จ ๋ถ„์„ ์‹œ์ž‘" ๋ฒ„ํŠผ ํด๋ฆญ
  • ์•ฝ 10-15์ดˆ ํ›„ ์ƒ์„ธ ๋ถ„์„ ๊ฒฐ๊ณผ ํ™•์ธ

4๋‹จ๊ณ„: ๊ฒฐ๊ณผ ํ™•์ธ ๋ฐ ํ™œ์šฉ

  • 4๊ฐœ ์„น์…˜๋ณ„ ์ƒ์„ธ ๋ถ„์„ ๊ฒฐ๊ณผ ํ™•์ธ
  • ๊ฐœ์„ ์  ๋ฐ ์ถ”์ฒœ์‚ฌํ•ญ ์ ์šฉ

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

planeat/
โ”œโ”€โ”€ app.py                 # ๋ฉ”์ธ Streamlit ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜
โ”œโ”€โ”€ .streamlit/
โ”‚   โ””โ”€โ”€ secrets.toml       # API ํ‚ค ์„ค์ • ํŒŒ์ผ
โ”œโ”€โ”€ requirements.txt       # Python ์˜์กด์„ฑ
โ””โ”€โ”€ README.md             # ํ”„๋กœ์ ํŠธ ๋ฌธ์„œ

๐ŸŽจ ์ฃผ์š” ๊ธฐ๋Šฅ ์ƒ์„ธ

OCR ํ…์ŠคํŠธ ์ถ”์ถœ

def extract_text_from_image(image_bytes):
    """Google Cloud Vision API๋ฅผ ์‚ฌ์šฉํ•œ ์˜์ˆ˜์ฆ ํ…์ŠคํŠธ ์ถ”์ถœ"""
    image = vision.Image(content=image_bytes)
    response = vision_client.text_detection(image=image)
    return response.text_annotations[0].description

AI ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง

  • ๊ตฌ์กฐํ™”๋œ 4๋‹จ๊ณ„ ๋ถ„์„ ํ”„๋กฌํ”„ํŠธ ์„ค๊ณ„
  • ๊ฐœ์ธ ๋งž์ถคํ˜• ๋ณ€์ˆ˜ (์„ฑ๋ณ„, ์ฒด์ค‘, ๋ชฉํ‘œ) ๋ฐ˜์˜
  • 100์  ๋งŒ์  ์ ์ˆ˜ ์‹œ์Šคํ…œ์œผ๋กœ ์ง๊ด€์  ํ”ผ๋“œ๋ฐฑ

๋ฐ˜์‘ํ˜• UI ์ปดํฌ๋„ŒํŠธ

  • CSS ๊ทธ๋ผ๋ฐ์ด์…˜ ๋ฐ ํ˜ธ๋ฒ„ ํšจ๊ณผ
  • ๋ชจ๋ฐ”์ผ ์นœํ™”์  ๋ฐ˜์‘ํ˜• ๋ ˆ์ด์•„์›ƒ
  • ์ƒ‰์ƒ๋ณ„ ๊ตฌ๋ถ„๋œ ๋ถ„์„ ์„น์…˜

๐Ÿ‘ฅ ํŒ€ ๊ตฌ์„ฑ

์—ญํ•  ์ด๋ฆ„ GitHub ๋‹ด๋‹น ์—…๋ฌด
๐ŸŽจ Design & Backend Lead ์ •ํ•ด์ฐฌ @gocks77777 ํŽ˜์ด์ง€ ๋””์ž์ธ, ๋กœ๊ณ  ์ œ์ž‘, ์ด๋ฏธ์ง€ ๋ฐ ๋ฐ์ดํ„ฐ ์ž…์ถœ๋ ฅ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง
๐Ÿ”ง Frontend & AI Lead ์ด์Šน์ค€ @conconcc ํ”„๋ก ํŠธ์—”๋“œ ๊ตฌํ˜„, ์ด๋ฏธ์ง€ ์ธ์‹ ๋ฐ ์ถ”์ถœ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง, Google AI Studio API ์—ฐ๋™, ๋ฐฐํฌ ๊ด€๋ฆฌ

๐Ÿš€ ๋ฐฐํฌ ๋ฐ ์šด์˜

๐Ÿ”ฎ ํ–ฅํ›„ ๊ฐœ๋ฐœ ๊ณ„ํš

Phase 2: ๊ณ ๋„ํ™” ๊ธฐ๋Šฅ

  • ๐Ÿ“… ์ฃผ๊ฐ„/์›”๊ฐ„ ์‹์Šต๊ด€ ํŠธ๋ž˜ํ‚น ๊ธฐ๋Šฅ
  • ๐ŸŽ ์Œ์‹ ์‚ฌ์ง„ ์ง์ ‘ ๋ถ„์„ ๊ธฐ๋Šฅ
  • ๐Ÿ‘ฅ ๊ฐ€์กฑ/์นœ๊ตฌ์™€ ์‹๋‹จ ๊ณต์œ  ๊ธฐ๋Šฅ
  • ๐Ÿ“Š ๊ฐœ์ธ ๊ฑด๊ฐ• ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ๋Œ€์‹œ๋ณด๋“œ

Phase 3: ๋ชจ๋ฐ”์ผ ํ™•์žฅ

  • ๐Ÿ“ฑ ๋ชจ๋ฐ”์ผ ์•ฑ ๊ฐœ๋ฐœ (React Native)
  • ๐Ÿ”” ์‹์‚ฌ ์‹œ๊ฐ„ ์•Œ๋ฆผ ๊ธฐ๋Šฅ
  • ๐Ÿช ๊ทผ์ฒ˜ ๊ฑด๊ฐ•์‹ํ’ˆ์  ์ถ”์ฒœ

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

  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 ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๐Ÿ†˜ ๋ฌธ์ œ ํ•ด๊ฒฐ

์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜

Q: "Vision API ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค" ์˜ค๋ฅ˜

A: secrets.toml ํŒŒ์ผ์˜ GOOGLE_CLOUD_VISION_API_KEY_JSON ์„ค์ •์„ ํ™•์ธํ•˜์„ธ์š”.

Q: "Gemini API ์ธ์ฆ ์˜ค๋ฅ˜" ๋ฐœ์ƒ ์‹œ

A: GEMINI_API_KEY๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์ •๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

Q: ์˜์ˆ˜์ฆ ํ…์ŠคํŠธ๊ฐ€ ์ธ์‹๋˜์ง€ ์•Š์„ ๋•Œ

A: ๋ช…ํ™•ํ•˜๊ณ  ์„ ๋ช…ํ•œ ์˜์ˆ˜์ฆ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•ด์ฃผ์„ธ์š”. (๊ถŒ์žฅ: 600x800px ์ด์ƒ)

๐Ÿ“ž ์—ฐ๋ฝ์ฒ˜

ํ”„๋กœ์ ํŠธ ๋ฌธ์˜:

ํ”„๋กœ์ ํŠธ ๋งํฌ: https://github.com/your-username/planeat


โญ Planeat์œผ๋กœ ๋” ๊ฑด๊ฐ•ํ•œ ์‹์Šต๊ด€์„ ๋งŒ๋“ค์–ด๋ณด์„ธ์š”! โญ

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages