728x90
- ๋ง์ผ์ปฌ๋ฆฌ ๋ฐฑ์๋ ํด๋ก ์ฝ๋ฉ ํ๋ก์ ํธ๋ฅผ ์งํํจ.
- ์ด์ปค๋จธ์ค ์ฌ์ดํธ์ ํ์ ๊ธฐ๋ฅ์ ๊ตฌํํ์๊ณ , 1์ฐจ 2์ฐจ๋ก ๋๋ ์ ํ๋ก์ ํธ๋ฅผ ๊ตฌํํ๋ ค๊ณ ํจ
- 1์ฐจ ํ๋ก์ ํธ ๊ฒฐ๊ณผ์์ผ๋ก ์์ง ์๋ฒฝํ๊ฒ ์์ฑ๋ ๋ฒ์ ์ ์๋
- [ํํ๋ก์ ํธ ๊ธฐ๊ฐ] 2024-09.02(์) ~ 2024-09.13(๊ธ)
- [๊ฐ๋ฐ์ธ์] : ๋ฐฑ์๋ 4๋ช
- Language : python3
- Framework : Django
๐กERD(1st)
- [ERD ๋ด ORDERS CARTS ๊ธฐ๋ฅ ๋ด๋น]
- ์ฅ๋ฐ๊ตฌ๋ ๊ธฐ๋ฅ (์ถ๊ฐ, ์์ , ์ญ์ )
- ๋ฌผ๊ฑด๊ตฌ๋งค
- [ERD ๋ด REVIEWS ๊ธฐ๋ฅ ๋ด๋น]
- ์ํ ๋ฆฌ๋ทฐ ์์ฑ, ์์ , ์ญ์
- [ERD ๋ด USER ๊ธฐ๋ฅ ๋ด๋น]
- ํ์๊ฐ์ ๋ฐ ์ ์ ๊ด๋ จ ๋ด์ฉ ๋ก๊ทธ์ธ ํ์ด์ง
- ๋ก๊ทธ์ธ, ํ์๊ฐ์
- ๋น๋ฐ๋ฒํธ ์ฌํ์ธ ํ์ด์ง, ๊ฐ์ธ์ ๋ณด ํ์ด์ง(users ๋ด ๋น๋ฐ๋ฒํธ ์ฌํ์ธ ํ์ด์ง, ๊ฐ์ธ์ ๋ณด ํ์ด์ง(์ ์ ์ ๋ณด ๊ด๋ จ ๋ด์ฉ)
- [ERD ๋ด PRODUCTS ๊ธฐ๋ฅ ๋ด๋น]
- ํ๋งคํ ๋ฌผ๊ฑด ๋ฑ๋ก, ์ญ์ , ์์
- ๋ฌธ์ ์ : ๋ฆฌ๋ทฐ ๊ธฐ๋ฅ๊ณผ ํฉํด์ง๋ฉด์ ์ค๋ฅ๊ฐ ๋ฐ์: ๋ฆฌ๋ทฐ์์๋ ๋ก๊ทธ์ธ์ด ๋ ์ฌ์ฉ์, ๋ฌผ๊ฑด์ ๊ตฌ๋งคํ ์ฌ์ฉ์๋ง์ด ๋ฆฌ๋ทฐ๋ฅผ ์์ฑํ ์ ์๋๋ก ๊ตฌํํ์์ผ๋ ์ด์ ์ ๊ณ ๋ คํ์ง ์๊ณ orders ๊ธฐ๋ฅ์ ๊ตฌํํ์ฌ ์ค๋ฅ๊ฐ ๋ฐ์
- ํด๊ฒฐ ๋ฐฉ๋ฒ: ํ์ฌ ์์ฒญ์ ๋ณด๋ธ ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธ์ด ๋ ์ํ์ธ์ง ํ์ธํ๊ธฐ ์ํด order_create ํจ์์ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์ค์ ํ๋ order.user = request.user ์ฝ๋๋ฅผ ์ถ๊ฐ
- ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํ๋ฉด ์ฝ๊ฒ ๊ตฌํ ๊ฐ๋ฅํ ๊ธฐ๋ฅ
- ํ์ฌ ์ํฉ:<๋ด๊ธฐ> ๋ฒํผ์ ๋๋ฅด๋ฉด ์ํ ์์ธํ์ด์ง๋ก ์ด๋
- ๊ตฌ๋งค ์ด๋ ฅ ์กฐํ
- ๋ฉ์ธ ํ์ด์ง์์ <๋ด๊ธฐ> ๋ฒํผ์ ๋๋ฅด๋ฉด ์ฅ๋ฐ๊ตฌ๋์ ํด๋น ์ํ์ด ๋ด๊ธฐ๊ฒ ํ๊ธฐ
- <์ฃผ๋ฌธ์์ฒญํ๊ธฐ> ๋ฒํผ์ ๋๋ฅด๋ฉด ๋ฐฐ์ก์ํ๊ฐ delivered๋ก ๋ณ๊ฒฝ
- ์ฐํ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ
- ๋ฌธ์ ์ : ์ฃผ๋ฌธ, ์ํ, ๋ค๋ฅธ ์ข ๋ฅ์ ์ฌ๋ฌ ๋ฐ์ดํฐ๋ค์ ํ๊บผ๋ฒ์ ์ฐ๊ฒฐ, ์ฌ์ฉ์๊ฐ ์ฃผ๋ฌธํ ์ํ, ๋ฐฐ์ก์ํ, ๋ฆฌ๋ทฐ ์ํ๋ฅผ ๋์์ ์ฐ๊ฒฐ, ์ด๋ฏธ ๋ฆฌ๋ทฐ๋ฅผ ์์ฑํ ์ํ์ ์ ์ธํ๋ ๋ก์ง์ ๊ตฌํ
- ํด๊ฒฐ ๋ฐฉ๋ฒ: Django orm ์ ์ฟผ๋ฆฌ ์ฌ์ฉ : ์ง์ ๋ ํ๋์ ๊ฐ๋ง ๊ฐ์ ธ์ค๋ values_list ์ ์ ์ธ ๊ธฐ๋ฅ์ธ exclude๋ฅผ ํ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถ
- ํ์ฌ ์ฃผ๋ฌธ ์์คํ ๊ณผ์ ์๋ ์ฐ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์ง ์์ admin์์ ์ง์ ์ฃผ๋ฌธ์ํ๋ฅผ delivered ๋ก ์ค์ ํด์ผ ๋ฆฌ๋ทฐ ์์ฑ ๊ฐ๋ฅ
- ๋ง์ดํ์ด์ง ๊ตฌ๋งคํ ๋ถ๋ถ์ html, css๋ฌธ์ ๋ก ํด๋ฆญ์ ํด์ผ๋ง ๊ตฌ๋งคํ(๋ฆฌ๋ทฐ ๊ด๋ จ ๋ด์ฉ)์ด ํ์๋จ
- ์ฃผ๋ฌธ ์์คํ ๊ณผ์ ์ฐ๋
- ๋ฆฌ๋ทฐ ์ ๋ ฌ ๋ฐฉ์ ๊ฐ์ (์ข์์ ๊ธฐ๋ฅ ์ถ๊ฐ)
- ํ๊ท ๋ณ์ ํ์
- ๋ง์ดํ์ด์ง์์ ๋ฆฌ๋ทฐ ๋ด์ฉ์ด ๋ฐ๋ก ๋ณด์ด๋๋ก html๊ณผ cssํ์ผ ์ฌ์ ๋ฆฌ
- ์ ๊ณ ๊ธฐ๋ฅ
- ๋ฆฌ๋ทฐ์ ํต๊ณ๋ฅผ ์ธ๋ถํํ์ฌ ์๊ฐํ(๋ฆฌ๋ทฐ ์์ฑ๋ฅ , ๊ตฌ๋งค์ ์ ๋ณด ํต๊ณ ๋ฑ์ ์ด์ฉ)
- ๋ฌธ์ ์ : ๋ง์ดํ์ด์ง๋ฅผ ๋ค์ด๊ฐ๊ธฐ ์ , ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌํ์ธํ๋ ํผ์์ ์์ด๋ ์ ๋ ฅ๋์ ์ ๊ทธ๊ณ ์ถ์์ผ๋ ์๋ฌ๊ฐ ๋ฐ์
- ํด๊ฒฐ ๋ฐฉ๋ฒ:readonly ์์ฑ์ ์ฌ์ฉํ์ฌ ์ ๋ ฅ ํ๋๋ฅผ ์์ ํ ์ ์๊ฒ ๋ง๋ค์์. readonly ์์ฑ์ HTML์ <input> ์์์์ ์ฌ์ฉ์๊ฐ ๊ฐ์ ์์ ํ์ง ๋ชปํ๋๋ก ์ค์ ํ๋ ์์ฑ์ผ๋ก, ๋ณด์๊ณผ ์ฌ์ฉ์ ํธ์์ฑ์ ๋์์ ๋ฌ์ฑํ ์ ์์์.
- ํ์ด๋จธ ๊ธฐ๋ฅ์ ๊ตฌํํ ๋, ํ ๋ฒ ์ค์ ํ ์๊ฐ์ ์์ ์ด ๋ถ๊ฐ๋ฅํ์ฌ ์๋ก ๊ณ ์นจ์ ํ๋ฉด ํ์ด๋จธ๊ฐ ์ด๊ธฐํ๋จ.
- ํ์ฌ ์ํฉ : ์๋ก๊ณ ์นจ ํ ๋๋ง๋ค ์๊ฐ์ด ์ด๊ธฐํ๋๋ ๋ฐฉ์์ผ๋ก ์ค์ ๋จ
- ๊ฐ์ธ ํ์ด์ง์์ ํ์ ์ ๋ณด ๋ฐ ๋น๋ฐ๋ฒํธ ์์
- ์ถ์ฒ์ธ ์ฝ๋ ๋ฐ ๋ง์ผ๋ฆฌ์ง ๊ธฐ๋ฅ
- ํํ์ด์ง ๊ฒ์์ด ์ ๋ ฅ ๊ธฐ๋ฅ ์ฐ๋
- ์ ๋ฌผํน๊ฐ ํ์ด๋จธ ๊ธฐ๋ฅ
- ๋ฌธ์ ์ : Categoryํ๋๋ฅผ Product ๋ชจ๋ธ์ ์ถ๊ฐํ๋ฉด์ ๊ธฐ์กด์ ๋ฑ๋ก๋ Product ๋ฐ์ดํฐ์์ ํธํ์ฑ ๋ฌธ์ ๋ฅผ ๊ฒช์, Produce ๋ชจ๋ธ์ ์๋ก์ด Cateforyํ๋๋ฅผ ์ถ๊ฐํ์ง๋ง, ๊ธฐ์กด์ ์ ์ฅ๋ ์ ํ ๋ฐ์ดํฐ์๋ ์ฐ๊ฒฐ๋ Category ๊ฐ์ฒด๊ฐ ์์ด ์ธ๋ํค ์ ์ฝ ์กฐ๊ฑด์ ์๋ฐํ๋ ๋ฌธ์ ๋ฐ์
- ํด๊ฒฐ ๋ฐฉ๋ฒ: ๊ธฐ์กด ์ ํ ๋ฐ์ดํฐ์ ๋ํด ๊ธฐ๋ณธ Category๋ฅผ ์ค์ ํ๊ณ ์๋ก์ด Category ๊ฐ์ฒด์ ๊ธฐ์กด ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ฒฐํ๋ ๋ง์ด๊ทธ๋ ์ด์ ์์ ์ํ
- ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํฐ ๋ชจ๋ธ๊ณผ ํ๋ก์ ํธ ์ฐ๊ฒฐ์ ์๋ฃํ์ผ๋ ํด๋น ๋ฐ์ดํฐ๋ฅผ ํ์ํ๋ ๋ฐฉ์์ ์ฌ๋ฌ ์ด์๊ฐ ๋ฐ์
- ๊ฐ ๊ตฌ๋งค์์ ์ฃผ๋ฌธ ๋ด์ญ์ ํจ์จ์ ์ผ๋ก ํํฐ๋งํ๋ ๋ถ๋ถ์์ ๋ฌธ์ ๋ฐ์
- ๊ตฌ๋งค ์ด๋ ฅ ์กฐํ
- ๋ ์ง๋ณ ์ฃผ๋ฌธ ๋ด์ญ ํํฐ๋ง
- ์ฃผ๋ฌธ์ํ(๋ฐฐ์ก์ค, ๋ฐฐ์ก์๋ฃ ๋ฑ)์ ๋ฐ๋ผ ์ ๋ ฌ
- ์ํ์ ์์ธ ํ์ด์ง์์ ์ข์์ ๊ธฐ๋ฅ
ํจํค์ง ์ค์น
imagesํ์ผ ์ถ๊ฐ python -m venv myweb ๋ง๋ค์ด์ง ํด๋์ zip ํ์ผ๋ด์ฉ ๋ถ์ฌ๋ฃ๊ธฐ cd myweb ./Scripts/activate pip install django djangorestframework pip install django_extensions pillow ๋๋ pip install -r requirements.txt ์ด์ฉ python manage.py runserver |
๊นํ๋ธ ๋ ํฌ ์ฃผ์
https://github.com/kgw08003/Clean_coding_1st_Project
<ํด๋น ํ๋ก์ ํธ์ 1์ฐจ ๊ฒฐ๊ณผ๋ฌผ์ ์ ๊นํ๋ธ์์ ๋ณด์ค ์ ์์ต๋๋ค.>
728x90