๊ฒฝ์๊ตญ๋ฆฝ๋ ๊ฒฝ์์ ๋ณดํ๊ณผ ๋ฐ์ฌ์ฑ @wodnrP
๊ฐ๋ฐ๊ธฐ๊ฐ: 2023.02 ~ 2023.05
๋ฐฑ์๋ : https://rdproject.site (ํ์ฌ ์๋ฒ ์ค๋จ)
ํ๋ก ํธ : flutterflow apk file ๋ฐฐํฌ
RecipeProject(์ดํ RD)๋ ์๋ฆฌ ์ ํธ๊ฐ๋ค์ ์ํ ๊ฐํธํ ๋ ์ํผ ์ ์ฅ ๋ฐ ๊ณต์ ์ฑ์ ๋๋ค.
์๋ฆฌ๊ฐ ์ทจ๋ฏธ์ผ ์ ๋๋ก ๋ค์ํ ์๋ฆฌ ๋ ์ํผ์ ๋ง์ ๊ด์ฌ์ด ์์๋๋ฐ, ํ์ฌ ๋ ์ํผ๋ฅผ ์ฐพ๊ธฐ ์ํด์๋ ์ฌ๋ฌ ์นํ์ด์ง๋ฅผ ์ฐพ์ ๋ค๋ ์ผํ๊ณ ๊ฐ์ข ๊ด๊ณ ์ ๊ธฐํ ํ๋งค ๋ฌผํ๋ ํจ๊ป ๋ณด์ด๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ ๋ค์ ๋ณต์กํ๊ณ ๋ฒ์กํ๋ค๋ ์ ์ ๋๊ผ์ต๋๋ค. ๊ทธ๋์ ์์ ํ๋ ์ด๋ฆฌ์คํธ ์ฒ๋ผ ๊ฐํธํ ๋ ์ํผ ์ ์ฅ์๋ฅผ ๋ง๋ค๊ณ ์ ๊ฐ๋ฐํ๊ฒ ๋์์ต๋๋ค.
๋๊ตฌ๋ ์ฝ๊ฒ ์ฐธ์ฌํ์ฌ ์์ ๋ง์ ๋ ์ํผ๋ฅผ ๊ธฐ๋กํ๊ณ , ๋ค์ํ ์๋ฆฌ ์์ด๋์ด๋ฅผ ๋ฐ๊ฒฌํ ์ ์๋ ์ด ์ฑ์์ ์๋ฆฌ์ ์ฌ๋ฏธ๋ฅผ ๋ํด๋ณด์ธ์
- ์ฌ์ฉ์๊ฐ ์ํ๋ ๋ ์ํผ๋ฅผ ์ ์ฅํ ์ ์๋ ๊ธฐ๋ฅ
- ์ ์ฅ๋ ๋ ์ํผ๋ ์นดํ ๊ณ ๋ฆฌ๋ณ Dropdown์ ํตํด ํํฐ๋งํ์ฌ ์กฐํ๊ฐ๋ฅ
- ๋ ์ํผ ์์ธ ํ์ด์ง์์ ์ฌ์ฉ์๊ฐ ์ํ๋ ๋ ์ํผ์ ์ข์์ ์ ์ฆ๊ฐ ๊ธฐ๋ฅ
- ๋ ์ํผ๋ฅผ ์ข์์ํ ์์ ์ ์ฅํ ์, ์กฐํํ ์๋ฅผ ๊ณ์ฐํ์ฌ ์ธ๊ธฐ ๋ ์ํผ TOP10์ ์
- ๋ ์ํผ ์ ๋ชฉ์ ๊ธฐ์ค์ผ๋ก ๊ฒ์์ด๊ฐ ํฌํจ๋๋ ๋ ์ํผ๋ฅผ ๋ชจ๋ ๊ฒ์
- ๊ฒ์๋ ๋ ์ํผ๋ ์ต์ ์์ผ๋ก ์ ๋ ฌ๋์ด ์ ๊ณต
API | HTTP Method | End Point | Query String | Description |
---|---|---|---|---|
SignupAPIView | POST | /user/signup | ย | ํ์๊ฐ์ |
LoginAPIView | POST | /user/login | ย | ๋ก๊ทธ์ธ |
LogoutAPIView | POST | /user/logout | ย | ๋ก๊ทธ์์ย |
UserAPIView | GET | /user/int:id or /user/ | ย | ์ ์ ์ ๋ณด ์กฐํ |
UserAPIView | PATCH | /user/ | ย | ์ ์ ์ ๋ณด ์์ |
PopularRecipe | GET | /top | ย | ์ธ๊ธฐTOP10 ๋ ์ํผ ์กฐํ |
AllRecipe | POST | / | ย | ๋ ์ํผ ์์ฑ |
AllRecipe | GET | / | ?search=title&items=ย | ์ ์ฒด ๋ ์ํผ ์กฐํ |
AllRecipe | PATCH | /recipe_id | ย | ๋ ์ํผ ์์ |
AllRecipe | DELETE | /recipe_id | ย | ๋ ์ํผ ์ญ์ |
MyRecipe | POST | /storage/recipe_id | ย | ๋ ์ํผ ์ ์ฅ |
MyRecipe | DELETE | /storage/recipe_id | ย | ์ ์ฅ ๋ ์ํผ ์ญ์ |
MyRecipe | GET | /storage/ | ?sort=category | ์ ์ฅ ๋ ์ํผ ์กฐํ |
RecommendAPIView | POST | /like/recipe_id | ย | ์ถ์ฒ ์ ์ฆ๊ฐ ๊ธฐ๋ฅ |
detailGetAPIView | GET | /detail/recipe_id | ย | ์กฐํ์ ์ฆ๊ฐ, ์์ธ ๋ ์ํผ ์กฐํ |
- app
- config : settings.py ๋ฏผ๊ฐ ์ ๋ณด ๋ถ๋ฆฌ
- recipe : recipe ๊ด๋ จ api ์์ฑ
- storage : ์ ์ฅํ ๋ ์ํผ ๊ด๋ จ api ์์ฑ
- user : ์ ์ ๊ด๋ จ api ์์ฑ
- staticfiles
- manage.py
- db
- conf.d
- data
- nginx
- Dockerfile : nginx dockerfile
- project.conf
- Dockerfile : django app dockerfile
- docker-compose.yml
- requirements.txt
- .gitignore
- README.md
![แแ
ณแแ
ณแ
แ
ตแซแแ
ฃแบ 2023-05-30 แแ
ฉแแ
ฎ 6 08 15](https://private-user-images.githubusercontent.com/102155143/241910068-6386a013-7d20-4b16-9411-37551635f80a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk3MzU2MDksIm5iZiI6MTcxOTczNTMwOSwicGF0aCI6Ii8xMDIxNTUxNDMvMjQxOTEwMDY4LTYzODZhMDEzLTdkMjAtNGIxNi05NDExLTM3NTUxNjM1ZjgwYS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNjMwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDYzMFQwODE1MDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04OGZiZDU0Y2RjMTQ2ZTQxNTA5NTg1MmM2NzdjZDJmZDE3ZTgzOTgwZjUxMDcwNTFkZThkZmQyMTAwYTAwMjdkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.ljTO8y4uoy-drT7AOZdzP3kVJ_RBPpMrJZ9OFOiKR0o)
![แแ
ขแแ
ฉแแ
ตแซแแ
ณแ
แ
ก](https://private-user-images.githubusercontent.com/102155143/242226710-ea8fa157-6474-49d9-9b6b-4e4dde71748f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk3MzU2MDksIm5iZiI6MTcxOTczNTMwOSwicGF0aCI6Ii8xMDIxNTUxNDMvMjQyMjI2NzEwLWVhOGZhMTU3LTY0NzQtNDlkOS05YjZiLTRlNGRkZTcxNzQ4Zi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNjMwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDYzMFQwODE1MDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1kMjVlNWY2MGZkMzVhY2VkYzk0NDdhZGVhNGE2OTliMmU2ODlhNDhhZDZlNWUzOWIxZmUwYzgwOWI5NmU3NDM5JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.5B5fGWSUKbWPfI0dK1eFBTdD34nOrkNEaSpaCWDnop0)
- ์ด๋ฒ ํ๋ก์ ํธ์์ front-end๊ฐ๋ฐ์ FlutterFlow๋ผ๋ tool์ ํ์ฉํ์ต๋๋ค. ํน์ฑ์ ios์ android ๋ชจ๋ ํธํ์ด ๊ฐ๋ฅํ์ฌ ์ ํํ์ผ๋ฉฐ ios๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ๋ฐ์ ์งํํ์ผ๋, android์์ ๊ฒ์ ํ๋ฉด์ด ๊นจ์ง๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ฌ ํด๊ฒฐํ์ง ๋ชปํ ์ ์ด ์์ฌ์ ์ต๋๋ค. ๋ค์ ๋ฒ์ ๊ฐ๋ฐ์ flutterflow๊ฐ ์๋ flutter ํน์ ๋ค๋ฅธ ๊ธฐ์ ์คํ์ ํ์ฉํ์ฌ ์๋ฌ๋ฅผ ์ก์ ์์ ์ ๋๋ค.
- ๋ ์ํผ ๋ฐ์ดํฐ๊ฐ ๋ง์ด ์์ผ ๊ฒฝ์ฐ, ๋ ์ํผ ์กฐํ API์ Latency๊ฐ ๋ฆ์ด์ง ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค. ํ์ฌ๋ ์ฟผ๋ฆฌํ๋ผ๋ฏธํฐ์ ํ์ด์ง๋ค์ด์ ์ ์ด์ฉํด ์ ์ฉ ์ ๋ณด๋ค 2๋ฐฐ ๊ฐ๋ ๊ฐ์์์ผฐ์ง๋ง, ์กฐ๊ธ ๋ ํ๊ธฐ์ ์ผ๋ก Latency๋ฅผ ์ค์ผ ์ ์๋ ๊ฐ์ ์ด ํ์ํฉ๋๋ค.