2024.11.15 - 12.09
- ๐ ํผ์นดํฝํฌํ ํํ์ด์ง: https://pikapick-photo.kro.kr
- ๐๏ธ ํ ๋ฌธ์: https://www.notion.so/2-135c4cf223fc804a827de53230da2422?pvs=4
- ๐ API ๋ช ์ธ: https://pikapick.onrender.com/api/docs
| ์๊ฐํ | ์์ ๋ฆผ | ๋ฐฉ์ ์ฒ | ๊น์ค์ |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
| ๊ฐํ's ๊นํ๋ธ | ์ ๋ฆผ's ๊นํ๋ธ | ์ ์ฒ 's ๊นํ๋ธ | ์ค์'s ๊นํ๋ธ |
์๊ฐํ
- 2ํ ํ์ฅ
- README ๋ด๋น
- ๋ฐฐํฌ ๊ด๋ฆฌ, ํ ์ค์ผ์ฅด ๊ด๋ฆฌ
์์ ๋ฆผ
- ํ๋ก ํธ์๋ ํํธ์ฅ
- ์ต์ข ๋ฐํ PPT ์ ์
๋ฐฉ์ ์ฒ
- ํ๋ก์ ํธ ์์ฐ ์์ ์ ์
๊น์ค์
- ํ ๋ ธ์ ๋ฌธ์ ๊ด๋ฆฌ
์๋์ ํ์ดํ๊ณผ ๊ฐ ์ธ๋ถ ํญ๋ชฉ(ํ์ด์ง, ๋ชจ๋ฌ, ์ฃผ์ ๊ธฐ๋ฅ)์ ํด๋ฆญํ๋ฉด ๋ด์ฉ์ ํ์ธํ ์ ์์ต๋๋ค.
ํ์ด์ง
- ๋ง์ผํ๋ ์ด์ค ํ์ด์ง
- ํ๋งค ๋ฑ๋ก ์ฑ๊ณต/์คํจ ํ์ด์ง
๋ชจ๋ฌ
- ํ๋งค ๋ฑ๋ก ๋ชจ๋ฌ
- ํฌํ ์นด๋ ์์ /ํ๋งค ์ทจ์ ๋ชจ๋ฌ
- ๊ตํ ์น์ธ/๊ฑฐ์ ๋ชจ๋ฌ
- ๋ก๊ทธ์ธ ํ์ ๋ชจ๋ฌ
์ฃผ์ ๊ธฐ๋ฅ
-
์์ ๊ด๋ฆฌ:
- ์์ ์ ๋ฑ๋ก๋ ์นด๋ ๋ฆฌ์คํธ ์กฐํ
- ๊ฒ์, ํํฐ(๋ฑ๊ธ, ์ฅ๋ฅด, ์ค๋ช , ๋งค์ง ์ฌ๋ถ ๋ฑ), ์ ๋ ฌ(์ต์ /์ค๋๋ ์, ๋ฎ์/๋์ ๊ฐ๊ฒฉ ์)
- ๋ฌดํ ์คํฌ๋กค๋ง
-
ํฌํ ์นด๋ ํ๋งค:
- ํ๋งค ๋ฑ๋ก
- ํ๋งค ์ ๋ณด ์์ ๋ฐ ํ๋งค ์ทจ์
-
๊ตํ ์น์ธ/๊ฑฐ์ :
- ๊ตํ ์์ฒญ ๋ชฉ๋ก ์กฐํ
- ๊ตํ ์ ์ ์น์ธ/๊ฑฐ์ ์ฒ๋ฆฌ
-
์๋ฆผ UI:
- ํฌํ ์นด๋ ๊ฑฐ๋์ ๊ด๋ จ๋ ์๋ฆผ ์ ๊ณต (๊ตฌ๋งค ์๋ฃ, ํ๋งค ์ฑ์ฌ, ๊ตํ ์น์ธ ๋ฑ)
- ์๋ฆผ ํ์ ํ์:
- 1์๊ฐ~23์๊ฐ: ์๊ฐ ๋จ์ ํ์ (์: 1์๊ฐ ์ )
- 24์๊ฐ~6์ผ: ์ผ ๋จ์ ํ์ (์: 1์ผ ์ )
- 7์ผ~3์ฃผ: ์ฃผ ๋จ์ ํ์ (์: 1์ฃผ์ผ ์ )
- 4์ฃผ~11๊ฐ์: ์ ๋จ์ ํ์ (์: 1๊ฐ์ ์ )
- 12๊ฐ์ ์ด์: ๋ ๋จ์ ํ์ (์: 1๋ ์ )
์ปดํฌ๋ํธ
- ๋ชจ๋ฌ ์ปดํฌ๋ํธ
- ํ์ธ ๋ชจ๋ฌ:
- ๋ก๊ทธ์ธ ํ์
- ๊ตฌ๋งคํ๊ธฐ
- ๊ตํ ์ ์ ์ทจ์
- ๊ตํ ์ ์ ๊ฑฐ์
- ๊ตํ ์ ์ ์น์ธ
- ํ๋งค ๋ด๋ฆฌ๊ธฐ
- ํ์ธ ๋ชจ๋ฌ:
- ๊ณตํต ์ปดํฌ๋ํธ
- ๋๋กญ๋ค์ด
- ๊ฒ์
- ๋ชจ๋ฌ ๋ ์ด์์
- ์ฑ๊ณต/์คํจ ํ์ด์ง
ํ์ด์ง
- ๋ง์ด๊ฐค๋ฌ๋ฆฌ ํ์ด์ง
- ํฌํ ์นด๋ ๋ฑ๋ก ํ์ด์ง
- ํ๋งค ์นด๋ ํ์ด์ง
- ๋ฑ๋ก ์ฑ๊ณต/์คํจ ํ์ด์ง
๋ชจ๋ฌ
- ํ๋งค ๋ฑ๋ก ๋ชจ๋ฌ
์ฃผ์ ๊ธฐ๋ฅ
-
๊ตฌ๋งคํ ํฌํ ์นด๋ ๊ด๋ฆฌ:
- ํํฐ, ์ ๋ ฌ, ๊ฒ์, ํ์ด์ง๋ค์ด์ ์ง์
- ๊ตฌ๋งคํ ํฌํ ์นด๋ ์ ์ฒด ์กฐํ
-
ํฌํ ์นด๋ ๋ฑ๋ก:
- ์นด๋ ์์ฑ ๋ฐ ์ธ๋ถ ์ ๋ณด ์ ๋ ฅ
- ์ด๋ฆ, ์ต์ ๊ฐ๊ฒฉ, ๋ฑ๊ธ, ์ด ๋ฐํ๋, ์ฅ๋ฅด, ์ค๋ช ๋ฑ
-
ํ๋งค ์นด๋ ๊ด๋ฆฌ:
- ํ๋งค ์ํ, ๊ตํ ์ํ ๊ด๋ฆฌ
- ๋์ผ ์นด๋์ ์ผ๋ถ ํ๋งค/๊ตํ ๊ตฌ๋ถ
์ปดํฌ๋ํธ
- ์นด๋ ์ปดํฌ๋ํธ
- ํฌํ ์นด๋: ์์ , ๋ง์ด๊ฐค๋ฌ๋ฆฌ, ๋ด๊ฐ ์ ์ํ ๊ตํ๋ชฉ๋ก, ๊ตํ ์ ์ ์นด๋
- ๋ชจ๋ฌ ์ปดํฌ๋ํธ
- ํ๋งคํ๊ธฐ
- ์์ ํ๊ธฐ
- ๊ณตํต ์ปดํฌ๋ํธ
- input / textarea
- ๊ธฐํ
- ๋ฑ๊ธ ์นดํ ๊ณ ๋ฆฌ ์ปดํฌ๋ํธ
ํ์ด์ง
- ํ๋งค ์ค์ธ ํฌํ ์นด๋ ์์ธ ํ์ด์ง
- ๊ตฌ๋งค ์ฑ๊ณต/์คํจ ํ์ด์ง
- ๊ตํ ์ ์ ์ฑ๊ณต/์คํจ ํ์ด์ง
๋ชจ๋ฌ
- ๊ตํ ์ ์ ๋ชจ๋ฌ
- ๊ตํ ์ ์ ์ทจ์ ๋ชจ๋ฌ
์ฃผ์ ๊ธฐ๋ฅ
-
ํฌํ ์นด๋ ๊ตฌ๋งค:
- ๋งค์ง๋์ง ์์ ํฌํ ์นด๋๋ฅผ ํฌ์ธํธ๋ก ๊ตฌ๋งค
- ๊ตฌ๋งค์์ ํฌ์ธํธ ์ฐจ๊ฐ ๋ฐ ํ๋งค์์ ํฌ์ธํธ ์ ๋ฆฝ
-
๊ตํ ์ ์:
- ํน์ ์นด๋์ ๊ตํ ์ ์์๋ฅผ ๋ฐ์ก
- ํ๋งค์๊ฐ ๊ตํ ์น์ธ ์ ์นด๋ ์์ ๊ถ ๋ณ๊ฒฝ
-
์์ธ ์ ๋ณด ์กฐํ:
- ํฌํ ์นด๋์ ์์ธ ์ ๋ณด(์ด๋ฆ, ๋ฑ๊ธ, ๊ฐ๊ฒฉ ๋ฑ) ํ์ธ
- ์ฐ๊ด ์ํ๋ ์นด๋ ํ์์ผ๋ก ํ์
์ปดํฌ๋ํธ
- ์นด๋ ์ปดํฌ๋ํธ
- ์ธ๋ถ ์ ๋ณด ์นด๋:
- ์ํ ์ ๋ณด(๊ตฌ๋งค์ ๊ธฐ์ค)
- ์ํ ์ ๋ณด(ํ๋งค์ ๊ธฐ์ค)
- ๋ด ์นด๋ ์์ธ
- ํ๋งค ์ ์ ๋ ฅ ์ ๋ณด
- ์ธ๋ถ ์ ๋ณด ์นด๋:
- ๋ชจ๋ฌ ์ปดํฌ๋ํธ
- ๊ตํํ๊ธฐ
- ๊ณตํต ์ปดํฌ๋ํธ
- ์๋ ์กฐ์
ํ์ด์ง
- ๋ก๊ทธ์ธ, ํ์๊ฐ์ ํ์ด์ง
๋ชจ๋ฌ
- ๋ก๊ทธ์ธ/ํ์๊ฐ์ ์ค๋ฅ ๋ชจ๋ฌ
- ํฌ์ธํธ ํ๋ ์ด๋ฒคํธ ๋ชจ๋ฌ
์ฃผ์ ๊ธฐ๋ฅ
-
์ธ์ฆ ๊ธฐ๋ฅ:
- ํ์๊ฐ์ , ๋ก๊ทธ์ธ/๋ก๊ทธ์์
- ๋ก๊ทธ์ธ ์ nav๋ฐ์ ์ ์ ํ๋กํ ํ์
-
ํฌ์ธํธ ํ๋ ๊ธฐ๋ฅ:
- ๋๋ค ์์ ๋ฝ๊ธฐ๋ฅผ ํตํด ํฌ์ธํธ ์ ๋ฆฝ
์ปดํฌ๋ํธ
- ๋ชจ๋ฌ ์ปดํฌ๋ํธ
- ๋๋ค ํฌ์ธํธ ํ๋
- ํ๋กํ
- ๊ธฐํ
- Nav ์ปดํฌ๋ํธ
๊ฐ๋ฐ ํ๊ฒฝ ๊ด๋ฆฌ ์ ๋ต
Prettier nvm(Node Version Manager) ํ์ฉ
- PrettierRc: ํ๋ก์ ํธ ๋ด์์ ์ฝ๋ ์คํ์ผ์ ์ผ๊ด๋๊ฒ ์ ์งํ๊ธฐ ์ํด PrettierRc๋ฅผ ์ฌ์ฉํ์ฌ ์ธ๋ถ ์ค์ ์ ์ ์ฉํ์ต๋๋ค. ์ด๋ฅผ ํตํด ์ฝ๋ ๊ฐ๋ ์ฑ์ ๋์ด๊ณ , ํ์ ๊ณผ์ ์์ ๋ฐ์ํ ์ ์๋ ์คํ์ผ ์ฐจ์ด๋ฅผ ์ต์ํํ์ต๋๋ค.
- nvm: ํ์ ๊ฐ Node.js ๋ฒ์ ์ฐจ์ด๋ก ์ธํ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด nvm์ ์ฌ์ฉํ์ต๋๋ค. ํ๊ฒฝ ์ค์ ๋ฐ ์ ์ฉ์ด ๊ฐ๋จํ์ฌ ๋ชจ๋ ํ์์ด ๋์ผํ Node.js ํ๊ฒฝ์์ ์์ ํ ์ ์์์ต๋๋ค.
๋ฐฐํฌ ๋ฐ ์ด์ ์ ๋ต
AWS (EC2) Nginx PM2 ํ์ฉ
- AWS: EC2๋ฅผ ์ฌ์ฉํด ๋ฐฑ์๋์ ํ๋ก ํธ์๋๋ฅผ ๋ฐฐํฌํ์ต๋๋ค. AWS ํ๊ฒฝ์ ํตํด ๋ฐฐํฌ ๊ณผ์ ์์ ์ค๋ฌด์ ์ธ ๊ฒฝํ์ ์์์ต๋๋ค.
- Nginx: Reverse Proxy๋ก ์ค์ ํ์ฌ ํ๋ก ํธ์๋์ ๋ฐฑ์๋ ๊ฐ์ ์ฟ ํค ์ฌ์ฉ ๋ฐ CORS ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ชจ๋ ์์ฒญ์ ํ๋์ ๋๋ฉ์ธ์์ ์ฒ๋ฆฌํ๋๋ก ๊ตฌ์ฑํด ๋ฐฐํฌ ํ ์์ ์ฑ์ ํ๋ณดํ์ต๋๋ค.
- PM2: ํ๋ก์ธ์ค ๊ด๋ฆฌ์ ๋ก๊ทธ ๋ชจ๋ํฐ๋ง์ ํ์ฉํ์ต๋๋ค. ๋ฌด์ค๋จ ๋ฐฐํฌ๋ฅผ ํตํด ์๋น์ค ๊ฐ์ฉ์ฑ์ ์ ์งํ๊ณ , ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ํ ๋ฐ์ํ ์ ์์์ต๋๋ค.
๋ธ๋์น ์ ๋ต
main - dev - feat ๋ธ๋์น๋ก ๊ตฌ์ฑ
- main ๋ธ๋์น: ์์ ์ ์ธ ๋ฐฐํฌ์ฉ ๋ธ๋์น๋ก, ์ต์ข ํ๋ก๋์ ํ๊ฒฝ์์์ ์ ๋ขฐ๋๋ฅผ ์ ์งํ์ต๋๋ค.
- dev ๋ธ๋์น: ํตํฉ๊ณผ ํ ์คํธ๋ฅผ ์ํ ๋ธ๋์น๋ก, ์ ์ฒด ๊ธฐ๋ฅ ๊ฐ๋ฐ ํ๋ฆ์ ์ ๊ฒํ์ต๋๋ค. ๊ฐ๋ฐ์ฉ์ผ๋ก AWS์์ ์ค์๊ฐ ์ ๋ฐ์ดํธํ๋ฉฐ ํ๋ก ํธ์๋ ์์ ์ ์ฐ์์ฑ์ ๋ณด์ฅํ์ต๋๋ค.
- feat ๋ธ๋์น: ๊ฐ๋ณ ๊ธฐ๋ฅ ๊ตฌํ ๋ฐ ์์ ์์ ์ ์ฌ์ฉํด ์์ ๋จ์๋ฅผ ๋ช ํํ ํ๊ณ , ๋ณํฉ ์ ์ถฉ๋์ ์ต์ํํ์ต๋๋ค.
์ถ๊ฐ์ ํ๋ก ํธ์๋ ์ ๋ต
์ปดํฌ๋ํธ ์ค๊ณ ๋ฐ ํ์
- ์ปดํฌ๋ํธ ์ฌ์ฌ์ฉ์ฑ ๊ฐํ: Atomic Design ํจํด์ ์ผ๋ถ ์ ์ฉํด ์ปดํฌ๋ํธ๋ฅผ ๊ณ์ธต์ ์ผ๋ก ์ค๊ณํ์ต๋๋ค. ์ด๋ฅผ ํตํด UI ์ปดํฌ๋ํธ์ ์ฌ์ฌ์ฉ์ฑ์ ๋์ด๊ณ ์ ์ง๋ณด์์ฑ์ ๊ฐํํ์ต๋๋ค.
- Notion๊ณผ Figma: ๋ฐฑ์๋์์ ์ํํ ํ์ ์ ์ํด API ๋ช ์ธ ๋ฐ ๋์์ธ ์์ ๊ด๋ จ ์ปค๋ฎค๋์ผ์ด์ ๋๊ตฌ๋ก ์ฌ์ฉํ์ต๋๋ค.
- ๋ฐํ ์๋ฃ: https://drive.google.com/file/d/1tEknEdzkiBmWKKBQK9ZgTfEoyttcOJ9U/view?usp=drive_link
- ์์ฐ ์์: https://drive.google.com/file/d/1_Vda6hfvO_u9fFOHosq7FCGxZ0c2eq7q/view?usp=drive_link
๐ ํ์ผ ๊ตฌ์กฐ ๋ณด๊ธฐ
๐ฆcomponents
โฃ ๐Common
โ โฃ ๐CardInfo
โ โฃ ๐Dropdown
โ โ โ ๐Sort
โ โฃ ๐Grade
โ โฃ ๐Input
โ โฃ ๐Modal
โ โฃ ๐Pagination
โ โฃ ๐PhotoCard
โ โฃ ๐Profile
โ โฃ ๐Quantity
โ โฃ ๐RandomBox
โ โฃ ๐SearchBar
โ โ ๐SuccessFail
โฃ ๐CreateCard
โฃ ๐Landing
โฃ ๐MyGallery
โฃ ๐MyShop
โ ๐PocketPlace
๐ฆhooks
๐ฆpages
โฃ ๐auth
โฃ ๐card
โ โ ๐[id]
โฃ ๐myGallery
โ โ ๐[id]
โฃ ๐myShop
โฃ ๐pocketPlace
โฃ ๐SuccessFail
โฃ ๐404.js
โฃ ๐index.js
โฃ ๐randomtest.js
โฃ ๐_app.js
โ ๐_document.js
๐ฆpublic
โฃ ๐assets
โฃ ๐fonts
โ ๐favicon.ico
๐ฆstyles






