Skip to content

Latest commit

ย 

History

History
103 lines (68 loc) ยท 3.23 KB

File metadata and controls

103 lines (68 loc) ยท 3.23 KB

๐Ÿง“ ๋ง๋ฒ—: ์Œ์„ฑ ๊ธฐ๋ฐ˜ ์†Œํ†ต & ๊ฑด๊ฐ• ์ผ€์–ด ์•ฑ

์ด ํ”„๋กœ์ ํŠธ๋Š” ๋…๊ฑฐ๋…ธ์ธ๊ณผ ๊ฒฝ๊ณ„์„ฑ ์ง€๋Šฅ์ธ์„ ์œ„ํ•œ ์Œ์„ฑ ์ธ์‹ ๊ธฐ๋ฐ˜ ์†Œํ†ต ๋ฐ ๊ฑด๊ฐ• ์•Œ๋ฆผ ์•ฑ์ž…๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž์˜ ์Œ์„ฑ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ธ์‹ํ•˜์—ฌ ๋‰ด์Šค ์š”์ฒญ, ๋‚ ์”จ ์š”์ฒญ, ์ด์•ผ๊ธฐ ๊ณต์œ  ๋“ฑ ์˜๋„๋ฅผ ํŒŒ์•…ํ•˜๊ณ ,
ํ•ด๋‹น ์นดํ…Œ๊ณ ๋ฆฌ์— ๋งž๋Š” ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ์‚ฌ์šฉ์ž ๋งž์ถคํ˜• ๊ฑด๊ฐ• ์•Œ๋žŒ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ํŠน์ • ์‹œ๊ฐ„์— ๋ณต์•ฝ, ์ŠคํŠธ๋ ˆ์นญ, ๊ฑด๊ฐ• ํ™œ๋™์„ ์•Œ๋ฆผ์œผ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.


๐ŸŒŸ ์ฃผ์š” ๊ธฐ๋Šฅ

๐ŸŽ™ ์Œ์„ฑ ์ธ์‹ ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค

์‚ฌ์šฉ์ž์˜ ์Œ์„ฑ์„ ํ…์ŠคํŠธ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ์ด๋ฅผ ๋ถ„๋ฅ˜ํ•˜์—ฌ ํ•ด๋‹น ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ:

  • "์˜ค๋Š˜ ๋‚ ์”จ ์–ด๋•Œ?" โ†’ ๋‚ ์”จ ์š”์ฒญ
  • "์š”์ฆ˜ ์ •์น˜ ๋‰ด์Šค ์•Œ๋ ค์ค˜" โ†’ ๋‰ด์Šค ์š”์ฒญ
  • "์˜ค๋Š˜ ์ด๋Ÿฐ ์ผ์ด ์žˆ์—ˆ์–ด" โ†’ ์ด์•ผ๊ธฐ

๐Ÿ“ฐ ๋‰ด์Šค ์‘๋‹ต

  • ์‚ฌ์šฉ์ž์˜ ํ‚ค์›Œ๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹ค์‹œ๊ฐ„ ๋‰ด์Šค๋ฅผ ํฌ๋กค๋ง
  • ๋‰ด์Šค ๋‚ด์šฉ์„ ๊ฐ„๋‹จํ•œ ์š”์•ฝ๋ฌธ์œผ๋กœ ์‘๋‹ต

โ˜๏ธ ๋‚ ์”จ ์‘๋‹ต

  • ์‚ฌ์šฉ์ž์˜ ํ˜„์žฌ ์ง€์—ญ์— ๊ธฐ๋ฐ˜ํ•œ ๊ธฐ์ƒ์ฒญ ๋˜๋Š” ํฌํ„ธ ๋‚ ์”จ ๋ฐ์ดํ„ฐ ํฌ๋กค๋ง

๐Ÿ—ฃ๏ธ ์ด์•ผ๊ธฐ ๊ณต์œ 

  • ์‚ฌ์šฉ์ž๊ฐ€ ์ž์‹ ์˜ ์ด์•ผ๊ธฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ
  • ํƒ€ ์‚ฌ์šฉ์ž์˜ ์ด์•ผ๊ธฐ๋ฅผ ๋ฌด์ž‘์œ„ ์‘๋‹ต์œผ๋กœ ์ œ๊ณต

โฐ ๊ฑด๊ฐ• ์•Œ๋ฆผ

  • ์‚ฌ์šฉ์ž ์ž…๋ ฅ ๊ธฐ๋ฐ˜: ๋‚˜์ด, ์„ฑ๋ณ„, ๊ด€์‹ฌ ์งˆํ™˜
  • ์ •ํ•ด์ง„ ์‹œ๊ฐ„๋งˆ๋‹ค ๋ณต์•ฝ, ์šด๋™, ๊ฑด๊ฐ• ์•Œ๋ฆผ ์ „์†ก
  • Flutter ์•ฑ๊ณผ FastAPI ๋ฐฑ์—”๋“œ ๊ฐ„ ์—ฐ๋™

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

๊ธฐ์ˆ  ์„ค๋ช…
FastAPI ๋ฐฑ์—”๋“œ ์„œ๋ฒ„, API ๋ฐ ๋ผ์šฐํŒ…
Flutter ํ”„๋ก ํŠธ์—”๋“œ ์•ฑ ๊ตฌํ˜„
SQLite ๋กœ์ปฌ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ
BeautifulSoup ๋‰ด์Šค/๋‚ ์”จ ์›น ํฌ๋กค๋ง
Pydantic ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ
Flutter Local Notifications ๋กœ์ปฌ ํ‘ธ์‹œ ์•Œ๋ฆผ ๊ตฌํ˜„
TTS / STT API ์Œ์„ฑ โ†” ํ…์ŠคํŠธ ์ฒ˜๋ฆฌ (Kakao ๋“ฑ)
GitHub Actions (์˜ˆ์ •) CI/CD ์ž๋™ํ™” ๊ตฌ์ถ• ์˜ˆ์ •

๐Ÿ“ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ

backend/

โ”œโ”€โ”€ best_model/ # ์Œ์„ฑ ๋ถ„๋ฅ˜ ๋ชจ๋ธ ํŒŒ์ผ

โ”œโ”€โ”€ crawling/ # ๋‰ด์Šค/๋‚ ์”จ ํฌ๋กค๋ง ๋ชจ๋“ˆ

โ”œโ”€โ”€ data/ # ํ…Œ์ŠคํŠธ ๋ฐ ์ €์žฅ์šฉ ์ƒ˜ํ”Œ ๋ฐ์ดํ„ฐ

โ”œโ”€โ”€ routers/ # FastAPI ๋ผ์šฐํ„ฐ (์Œ์„ฑ, ๋‰ด์Šค, ๋‚ ์”จ, ์•Œ๋žŒ ๋“ฑ)

โ”œโ”€โ”€ static/profile_images/ # ์‚ฌ์šฉ์ž ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ์ €์žฅ ํด๋”

โ”œโ”€โ”€ utils/ # ์ „์ฒ˜๋ฆฌ ๋ฐ ๋ถ„๋ฅ˜ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํ•จ์ˆ˜ ๋ชจ์Œ

โ”œโ”€โ”€ main.py # FastAPI ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ง„์ž…์ 

โ”œโ”€โ”€ models.py # SQLAlchemy ORM ๋ชจ๋ธ ์ •์˜

โ”œโ”€โ”€ database.py # DB ์—ฐ๊ฒฐ, ์„ธ์…˜ ๊ด€๋ฆฌ

โ”œโ”€โ”€ requirements.txt # Python ํŒจํ‚ค์ง€ ๋ช…์„ธ

โ””โ”€โ”€ README.md # ํ”„๋กœ์ ํŠธ ์„ค๋ช…์„œ


๐Ÿงช ์ฃผ์š” ํŒŒ์ผ ์„ค๋ช…

ํŒŒ์ผ ์„ค๋ช…
main.py FastAPI ์„œ๋ฒ„ ์‹คํ–‰๋ถ€
models.py ์‚ฌ์šฉ์ž, ์•Œ๋žŒ, ์ด์•ผ๊ธฐ ์ €์žฅ์šฉ ORM ๋ชจ๋ธ
database.py DB ์—ฐ๊ฒฐ, ์„ธ์…˜ ๊ตฌ์„ฑ
routers/ ๊ธฐ๋Šฅ๋ณ„ API ๋ผ์šฐํ„ฐ (/news, /weather, /story, /alarm ๋“ฑ)
utils/ ์ „์ฒ˜๋ฆฌ, ์˜๋„ ๋ถ„๋ฅ˜ ๋ชจ๋ธ ์ฒ˜๋ฆฌ ๋“ฑ ์œ ํ‹ธ๋ฆฌํ‹ฐ
crawling/ BeautifulSoup ๊ธฐ๋ฐ˜ ๋‰ด์Šค/๋‚ ์”จ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ชจ๋“ˆ

๐Ÿš€ ์‹คํ–‰ ๋ฐฉ๋ฒ•

# ํŒจํ‚ค์ง€ ์„ค์น˜
pip install -r requirements.txt

# FastAPI ์„œ๋ฒ„ ์‹คํ–‰
uvicorn main:app --reload