2024ํ๋
๋ 1ํ๊ธฐ ์ ๋ถ๋ํ๊ต OSS ํ ํ๋ก์ ํธ
๐ง๐ผโ๐ณ ์์นผ๋ก๋ฆฌ
= ์์์ + ์นผ๋ก๋ฆฌ
์ด๋ฆ | ๋ด๋น | ์ญํ |
---|---|---|
์ด์ ์ฐ | Front-end |
ํ์ฅ ๋ฌธ์ ์์
UI ๋์์ธ Front-end ์ด๊ด |
์ด๋ฏผํ | Front-end |
UI ๋์์ธ |
์ฅ์ ์ฐ | Back-end |
์์ ์ธ์ ๋ชจ๋ธ(AI) API ๊ตฌ์ถ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์ถ ์ฝ๋ ์ฐ๋ (Front + Back) GIT ๋ฒ์ ๊ด๋ฆฌ Notion ๋ฌธ์์ ๋ฆฌ |
์กฐํํฌ | Back-end |
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์ถ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ |
โ Front-end
โ Back-end
โ API
โ Tool
๋ค์ด์ดํธ๋ ๊ฑด๊ฐ ๊ด๋ฆฌ์ ๊ฐ์ ์ด์ ๋ก ์๋จ ์กฐ์ ์ด ํ์ํ ์ฌ๋ํํ
๋์์ ์ค ์ ์๋ ์๋จ ๊ด๋ฆฌ ์ง์ ํ๋ก๊ทธ๋จ
1. ์์
๋ก๊ทธ์ธ ์ฐ๋ ์ง์ (Google / Kakao)
2. ์ฌ์ฉ์๊ฐ ์
๋ก๋ํ ์์ ์ฌ์ง์ ๋ถ์ํ์ฌ ์ฌ์ง์ ์๋ ์์์ ์์ ์ฑ๋ถ, ์นผ๋ก๋ฆฌ ๋ฑ์ ์ ๋ณด ์ ๊ณต
3. ๋ถ์ํ ์์ ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ์ฌ์ฉ์ ๋ชฉํ ์ญ์ทจ๋ ๋ฌ์ฑ ์ฌ๋ถ ํ์ธ
4. ์ฌ์ฉ์์ ์๋จ์์ ๋ถ์กฑํ ์์ ์ฑ๋ถ์ ๊ธฐ๋ฐ์ผ๋ก ์์ ๋๋ ๊ทผ์ฒ ์๋น ์ถ์ฒ
โ์์ต๊ด์ ๊ธฐ๋กํ๋ ์ฑ ์ฌ์ฉ์๋ฅผ ๋์์ผ๋ก ํ ์ฐ๊ตฌ ๊ฒฐ๊ณผย ๋์์์ ์ฝ 77.9%์์ ์ฑ๊ณต์ ์ธ ์ฒด์ค ๊ฐ๋ ํจ๊ณผ๋ฅผ ํ์ธํ์ผ๋ฉฐ ์ด ์ค 23%๋ ๋ณธ์ธ ์ฒด์ค์ 10% ์ด์ ๊ฐ๋ ์ ์ฑ๊ณตํ ๊ฒ์ผ๋ก ๋ํ๋ฌ๋ค.โ
[์ถ์ฒ] ์ํ์ ๋ฌธ
๐ป ํ์ํ ํด
Visual Studio Code
Android Studio
๐ Python 3.11 ๋ฒ์ ์ด์ ์ฌ์ฉ์ ๊ถ์ฅํฉ๋๋ค.
โ ๐ Front-end, ๐ Back-end ํด๋๋ฅผ VS Code ๋ฅผ ํตํด ๋ฐ๋ก ์คํ์ํต๋๋ค.
โโโ ๐ Front-end
โ โ
โ โโโ ...
โ
โโโ ๐ Back-end
โ โ
โ โโโ ...
โ
โโโ ๐ Image
โ
โโโ ๐ ...
node.js
๋ฅผ ์ค์นํฉ๋๋ค. VS Code
๋ฅผ ํตํด Front-end
ํด๋๋ฅผ ์คํํฉ๋๋ค. npx expo start
๋ฅผ ํฐ๋ฏธ๋ ์ฐฝ์ ์
๋ ฅํ์ฌ Expo
๋ฅผ ์คํ์ํต๋๋ค.
VS Code
๋ฅผ ํตํด Back-end
ํด๋๋ฅผ ์คํํฉ๋๋ค.
yolov3.zip
quantity_est.zip
yolov3.zip
ํ์ผ์ ์์ถ ํด์ ํฉ๋๋ค. quantity_est.zip
ํ์ผ์ ์์ถ ํด์ ํฉ๋๋ค. Back-end/FoodRecognition
ํด๋์ ์์น์ํต๋๋ค. Back-end/requirements.txt
ํ์ผ์ ํ์ธํฉ๋๋ค. pip install -r requirements.txt
โ ์คํ ์ ๐ ํ์ ์ค์ ์ ํ์ธํฉ๋๋ค.
app.py
ํ์ผ์ ์คํ์ํต๋๋ค. quantity_est
yolov3
์ธ์์ด ์๋ ๊ฒฝ์ฐ (์์ธ โก ํ์ผ ์์ถ ํด์ ๊ณผ์ ์์ ํ์ผ ์ค๋ณต)
Back-end/FoodRecognition/foodRecognition.py
์ฝ๋ ์๋์ ๊ฐ์ด ์์ from quantity_est.quantity_est.food_quantity_model import quantity
from yolov3.yolov3.food_recognition_model import detect, get_nutrients
Swagger : localhost:5000/swagger
Android Studio
๋ฅผ ์ค์นํฉ๋๋ค. Android Studio
ํ๋ก์ ํธ๋ฅผ No Activity
๋ก ์์ฑํฉ๋๋ค. Device Manager
์ฐฝ์ +
๋ฒํผ์ ๋๋ฌ Create Virtual Device
๋ฅผ ์ ํํฉ๋๋ค. Pixel 8
์ ์ ํํ์ฌ Android Emulator
์์ฑ์ ์๋ฃํฉ๋๋ค. Android Emulator
๋ฅผ ์คํ์ํต๋๋ค. Android Emulator
์ Location
์ ํ์ฌ ์์น๋ก ๋ฐ๊ฟ์ค๋๋ค.
Android Emulator
์คํ ํ ...
๋ฒํผ์ ๋๋ฆ
๋๋ค.Location
์ ๋๋ฌ ํ์ฌ ์์น๋ก ์ค์ ํ Set Location
์ ๋๋ฆ
๋๋ค.ํ๋ก์ ํธ Image
ํด๋ ์์ ์ฌ์ง๋ค์ Android Emulator
์ ๋ฃ์ด์ค๋๋ค.
Drag & Drop
Image
ํด๋ ์์ ์ฌ์ง๋ค์ Android Emulator
ํ๋ฉด์ ์ง์ ๋์ด๋ค ๋ฃ์ต๋๋ค. ์ง์ ์ค์
Android Studio
์์ "View" > "Tool Windows" > "Device Explorer"๋ฅผ ์ ํํฉ๋๋ค.Device Explorer
์ฐฝ์์ ์๋ฎฌ๋ ์ดํฐ์ ํ์ผ ์์คํ
์ ํ์ํฉ๋๋ค.Pictures
ํด๋๋ฅผ ์ ํํ์ฌ Image
ํด๋ ์์ ์ฌ์ง์ ๋ฃ์ต๋๋ค.
Expo
๋ฅผ ์คํ์ํจ Front-end
ํฐ๋ฏธ๋๋ก ๋์์ต๋๋ค. Front-end
ํฐ๋ฏธ๋์์ a
ํค๋ฅผ ๋๋ฌ Android Emulator
๋ฅผ ํตํด ์ดํ์ ์คํํฉ๋๋ค.
Notion
์ ์ ๋ฆฌ๋์ด ์๋ API KEY
์ฐธ๊ณ ํ์ฌ ํ์ผ์ ๋ฃ์ต๋๋ค.
Google Login
ngrok
์ค์น ํ ํฐ๋ฏธ๋์์ ์คํํฉ๋๋ค. ngrok http 5000
์
๋ ฅ ํ ๋์จ ์ฃผ์๋ฅผ ํ์ธํฉ๋๋ค.Google Cloud Console
์ ์ ์ํฉ๋๋ค. Google Client ID
Google Client Secret
Google Redirect URI
๋ฅผ ์ค์ ํฉ๋๋ค. Back-end/Login/login.py
Front-end/screens/GoogleLogin.js
์ ์ฝ๋๋ฅผ ์๋ง๊ฒ ์์ ํฉ๋๋ค. GITHUB
NOTION
SWAGGER
localhost:5000/swagger