2024ํ๋
๋ 1ํ๊ธฐ ์ ๋ถ๋ํ๊ต OSS ํ ํ๋ก์ ํธ
- โ ํ๋ก์ ํธ ๋ช
- โ ํ ๊ตฌ์ฑ
- โ ๊ธฐ์ ์คํ
- โ ๊ฐ์
- โ ์ฃผ์ ๊ธฐ๋ฅ
- โ ์๋น์ค ๊ตฌ์ฑ๋
- โ
๊ธฐ๋ ํจ๊ณผ
- ๐ ํด๋ ๊ตฌ์กฐ
- ๐ง๐ผโ๐ณ Front-end
- ๐ง๐ผโ๐ณ Back-end
- ๐ง๐ผโ๐ณ Android Emulator
- ๐ ํ์ ์ค์
- โ ์ฃผ์ ์ฌํญ
๐ง๐ผโ๐ณ ์์นผ๋ก๋ฆฌ
= ์์์ + ์นผ๋ก๋ฆฌ
์ด๋ฆ | ๋ด๋น | ์ญํ |
---|---|---|
์ด์ ์ฐ | 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
ํด๋๋ฅผ ์คํํฉ๋๋ค.
- Google Drive ๋ค์ด๋ก๋ ๋งํฌ๋ก ์ด๋ํฉ๋๋ค.
- ๋ค์ ํ์ผ๋ค์ ๋ค์ด๋ก๋ํฉ๋๋ค.
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
์ฐฝ์์ ์๋ฎฌ๋ ์ดํฐ์ ํ์ผ ์์คํ ์ ํ์ํฉ๋๋ค.- /sdcard ๋๋ /storage/emulated/0 ๋๋ ํ ๋ฆฌ๋ฅผ ์ฐพ์์ ์ ํํฉ๋๋ค.
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
- Back-end/app.py โก
localhost:5000/swagger