kohigowild
ํ ํ๋ก์ ํธ Hey Toss Me ์ต์ข ํ๊ณ ๋ณธ๋ฌธ
๐ Overview
๐ก Notion | ๐ก GitHub |
โ ์ ๊ธฐ์! ์ ์ฐ๋ ํฐ์ผ ์์ด์? ๐ ๊ทธ๋ผ ๋๊ฒจ์! = Hey! Toss Me! ๐โ๏ธ
โ ์ ๊ตญ๊ตฌ์ ๋ชป ์ฐ๊ฒ ๋ ์๋น์ค ๊ฑฐ๋๋ง ๋ชจ์๋ ๊ณณ ์์๊น?
๐ ์ทจ์ ์์๋ฃ ๋ฌผ์ง ๋ง๊ณ ๊ฐ๋จํ๊ฒ ๊ฑฐ๋ํด์!
๐ช ๋ฏธ์ฉ์ค๋! ๋ฎค์ง์ปฌ๋! ์ด๋ค ์์ฝ ์๋น์ค๋ผ๋ ์ข์์!
๐ ์์ ๊ธฐ๊ฐ
2023๋ 02์ 24์ผ ~ 2023๋ 04์ 06์ผ
๐คน ํ์ ๊ตฌ์ฑ
BackEnd 3๋ช : ์ด๋ณด๋ฏธ, ์ต์ ์ค, ํ์งํ
FrontEnd 2๋ช : ๋ฐ์ฃผ๊ฒฝ, ๊น๊ท๋ฆฌ
๐ ํ๋ก์ ํธ ์ํคํ ์ฒ
๐จ ๊ธฐ์ ์คํ
FrontEnd | BackEnd | CI / CD |
|
|
Communication
|
๐น ์๋น์ค ์์ฐ
๐ธ ํ์ด์ง ๊ตฌ์ฑ
๐ก ๋๋ฉ ํ์ด์ง
- ์ด๋ฏธ์ง ์ฌ๋ผ์ด๋ (Infinite Loop) ๊ตฌํ
- ๋คํฌ ๋ชจ๋ ๊ธฐ๋ฅ
๐ก ํ์๊ฐ์ , ๋ก๊ทธ์ธ ํ์ด์ง
- ๊ธฐ์ฌํ ์ด๋ฉ์ผ๋ก ์ธ์ฆ ์ฝ๋ ์ ์ก ํ ์ธ์ฆ ์ฝ๋๊ฐ ์ผ์นํด์ผ ํ์ ๊ฐ์
๊ฐ๋ฅ
- ๋ฒํผ ํ์ฑํ ๊ธฐ์ค : ์ธ์ฆ ์ฝ๋ ํ์ธ, ์ด๋ฉ์ผ ์์, ๋น๋ฐ๋ฒํธ ์์(์๋ฌธ, ์ซ์ ์กฐํฉ ์ต์ 8๊ธ์ ์ด์), ์ด๋ฆ ๊ธฐ์ฌ
- ์นด์นด์ค ์์ ๋ก๊ทธ์ธ ๊ตฌํ
๐ก ๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ
- ๋น๋ฐ๋ฒํธ๋ฅผ ๋ถ์คํ ๊ฒฝ์ฐ ๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ ๊ธฐ๋ฅ
- ์ธ์ฆ ๋ก์ง์ ํ์๊ฐ์ ๊ณผ ๋์ผํ๊ฒ ๊ตฌํ
๐ก ์นดํ ๊ณ ๋ฆฌ ํ์ด์ง
- ์ ์ ๊ฐ ๋ฑ๋กํ ์ํ ๋ ธ์ถ, ํ์ด์ง๋ค์ด์ ๊ตฌํ
- ์นดํ ๊ณ ๋ฆฌ์ ๋ง๋ ์ํ ๊ฒ์์ ๋น๋กฏํด ๋ง๊ฐ ์๋ฐ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ๋ฌ์ 3์ผ ์ด๋ด ์์ฝ๋ ํ์ธํ ์ ์์
- ์ง์ญ, ์์ฝ์ผ์, ํค์๋ ๊ฒ์
- ์ค์ฒฉ ๊ฒ์๋ ๊ฐ๋ฅ
๐ก ์๋ฆผ ํ์ด์ง
- ๊ด์ฌ ํค์๋ ํฌํจ ๊ฒ์๊ธ ๋ฑ๋ก, ๊ฑฐ๋ ์๋ฃ, ๋ด๊ฐ ๋ฑ๋กํ ์ํ ๋ถ๋งํฌ ์ ์ค์๊ฐ ์๋ฆผ ์ ์ก
- ์ฝ์ง ์์ ์๋ฆผ์ด ์๋ ๊ฒฝ์ฐ ์๋จ ์๋ฆผ ์์ด์ฝ ์์ญ์ ๋ฑ์ง ๋ ธ์ถ
๐ก ์ํ ๋ฑ๋ก ํ์ด์ง
- ์ ์ ์ ๋ก๋ ์ด๋ฏธ์ง ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ ๊ณต
- ์ด๋ฏธ์ง ์ ๋ก๋ ์ ์ด๋ฏธ์ง ์ต์ ํ (์ต๋ 2MB, ์ต๋ ๊ธธ์ด 900px) ์ ์ฉ
- DAUM Post-Code, Date Picker ๊ตฌํ
๐ก ์ฑํ ์ปดํฌ๋ํธ
- STOMP ๊ตฌ๋ , ์ฐ๊ฒฐ, ๋ฐํ ๋ก์ง ๊ตฌํ
- state์ ์ค์๊ฐ ๋ฉ์์ง๋ฅผ ์ ์ฅํด ๋ณ๋์ API ์์ฒญ ์์ด ์ฑํ ๊ฐ๋ฅ
๐ก ๋ง์ด ํ์ด์ง
- ํ๋กํ ์ด๋ฏธ์ง ๋ณ๊ฒฝ, ํ์ ๊ณ์ข ์ ๋ณด ๋ณ๊ฒฝ ๊ฐ๋ฅ
- ํ๋กํ ์ด๋ฏธ์ง ์ ๋ก๋ ์ ์ด๋ฏธ์ง ์ต์ ํ (์ต๋ 2MB, ์ต๋ ๊ธธ์ด 300px) ์ ์ฉ
- ๋ด ์์ฝ, ์ ๋ก๋ํ ์ํ, ๋ถ๋งํฌ ์ํ, ๊ด์ฌ ํค์๋ ํ์ธ ๊ฐ๋ฅ
- ํ์ด์ง๋ค์ด์ , ํญ ๊ธฐ๋ฅ ๊ตฌํ
๐ผ ๋ด๊ฐ ๋งก์ ์ญํ
- ๋๋ฉ ํ์ด์ง UI ๊ตฌํ
- ํ์๊ฐ์
, ๋ก๊ทธ์ธ, ๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ UI ๊ตฌํ ๋ฐ ์ฐ๋
- JWT ํ ํฐ ์ ์ฅ ๋ฐ ๊ด๋ฆฌ, ์นด์นด์ค ์์ ๋ก๊ทธ์ธ ๊ตฌํ
- ์ฐ์ธก ํ๋จ Fixed Button ๋ฐ ์ฑํ
๋ฆฌ์คํธ, ์ฑํ
๋ฐฉ ์ปดํฌ๋ํธ UI ๊ตฌํ ๋ฐ ์ฐ๋
- STOMP JS๋ฅผ ํตํ ์ฑํ ๋ก์ง ๊ตฌํ
- ๋ง์ดํ์ด์ง UI ๊ตฌํ ๋ฐ ์ฐ๋
- ํ์ด์ง๋ค์ด์ ์ฒ๋ฆฌ ๋ฐ ์ด๋ฏธ์ง ์ต์ ํ, PWA ์ ์ฉ
๐ ํ๋ก์ ํธ ํ๊ณ
๐ ์ํ ์
- ๋ฉํ ๋ ํผ๋๋ฐฑ์ ์ ๊ทน์ ์ผ๋ก ์์ฉํ ์ (Modal Portal ์ ์ฉ, PWA, ์คํฌ๋ฆฐ๋ฆฌ๋ ํ๊ทธ ์ ์ฉ ๋ฑ)
- ๊ฐ๋ฐ์ ์ปค๋ฆฌ์ด๋ฅผ ์์ํ๊ธฐ ์ ๊น์ง๋
์ด์ฉ๋ฉด ๊ฐ๋ฐ์๊ฐ ๋๊ณ ์๋์๋์ด ๊ฐ๋ฐ์๊ฐ ๋ด ์ฝ๋๋ฅผ ๋ฏ์ด์ ๋ณด๊ณ ํผ๋๋ฐฑ์ ์ค ๊ธฐํ๊ฐ ์ ์์ ๊ฑฐ๋ผ๋ ์๊ฐ์ด ๋ค์ด์ ๋ฉํ ๋ง ์๊ฐ์ ์ง๋ฌธํ ๊ฒ๋ค๋ ๋ฏธ๋ฆฌ ์ ๋ฆฌํด ๊ฐ๊ณ , ๋ฉํ ๋ง ๋ ๋ค์๋ ํผ๋๋ฐฑ์ ๋ ๋ฐค์ ๊น์๋ผ๋ ๋น์ผ์ ๋ฐ๋ก ์์ ํ๋ค. ๋ํ ์ผ์ด ๋ชจ์ฌ์ ์์ฑ๋๋ฅผ ๊ฐ๋ฅธ๋ค๊ณ ์๊ฐํ๋๋ฐ, ๋ฉํ ๋์ด ๋ํ ์ผ์ ๋๋ฌด ์ ์ก์์ฃผ์ ์ ์์ฑ๋์ ํ๋ชซํ์ง ์์๋ ์ถ๋ค.
- ๊ฐ๋ฐ์ ์ปค๋ฆฌ์ด๋ฅผ ์์ํ๊ธฐ ์ ๊น์ง๋
- ์ผ์ ๊ด๋ฆฌ๋ฅผ ๋ ์ธ์ ๋ ์ํ๋ ์
- ๋ด ์ต๋ ๊ฐ์ ์ด๋ผ๊ณ ์๊ฐํ๋๋ฐ, ์ผ์ ์ด ๋ฆ์ด์ง ๊ฒ ๊ฐ์ผ๋ฉด ๋ฏธ๋ฆฌ ๊ณต์ ํ๊ณ ์ด์ง๊ฐํ ์ผ์ ๊ณํํ ์ผ์ ์์ ๋๋ธ๋ค. ์ด๋ฒ ํ๋ก์ ํธ์์ ๋ด๊ฐ ๋งก์ ์ผ์ด ์ ์ง ์์๊ณ ์ผ์ ์ด ํ์ดํธํ๋๋ฐ, ์์ ์ผ์ ๋ณด๋ค ๋ฆ์ด์ง ์ผ์ ํ ๋ฒ๋ ์์๋ค.
- ํ๋ก ํธ ์ธก๋ฉด์์์ JWT Authentication ์ดํด๋ ์ ๊ณ
- HeyTossMe๊ฐ ๋ฐฑ์๋์์ ๋ ๋ฒ์งธ ํ์ ์ธ๋ฐ, ์ง๋ ํ์ ํ๋ก์ ํธ์์๋ ํด๋ด์ง ๋ชปํ๋ ๋ถ๋ถ์ด๋ค. ์ ์ ๊ฐ ์ฌ์ดํธ๋ฅผ ์ฌ์ฉํจ์ ์์ด ์ฃผ์ถง๋ ๊ฐ์ ์์ญ์ด๋ผ๊ณ ์๊ฐํ๊ธฐ ๋๋ฌธ์ ์์ฌ์์ด ์ปธ์๋ค.
- ๋ณด์์ ์ํด store์ ํ ํฐ์ ์ ์ฅํ๋ค. UX๋ฅผ ์ํด redux-persist๋ฅผ ์ฌ์ฉํด ์๋ก๊ณ ์นจ ์์๋ ์ ์ ์ ๋ณด๊ฐ ํ๋ฐ๋์ง ์๋๋ก ํ๋ค. ํ ํฐ ๋ง๋ฃ์ธ 401 error๊ฐ ๋จ์ด์ง๋ฉด ์๋์ผ๋ก ํ ํฐ ์ฌ๋ฐ๊ธ ๋ฐ API ์ฌ์์ฒญํ๋ ๋ก์ง์ ์ง ๋ค. ์ด ์ธ ๋ฌธ์ฅ์ ๊ตฌํํ๋ ค๊ณ ์์ ์๊ฐ ๋์ Redux๋ Axios ๊ณต๋ถ๊ฐ ์์ฐ์ค๋ฝ๊ฒ ๋๋ค๋ ์ ์ด ์ข์๋ค. Custom Axios๋ ์ด๋ฒ์ ์ฒ์ ์จ ๋ดค๋๋ฐ Axios๋ ํ๊ฒฐ ๋ ์นํด์ง ๊ธฐ๋ถ์ด ๋ ๋ค.
- ๋ถ์กฑํ ๋ถ๋ถ์ ๋ํด ๊ณ์ ์ฒดํฌํ๊ณ ๊ฐ์ ํ ์
- ์ฐ๋ ์ผ์ ์ด ํผ์ ์ผ์ฐ ๋๋ ์ดํ์๋ Light House ์ต์ ํ, ์ฒจ๋ถ ์ด๋ฏธ์ง ์์ถ (์๋ฒ ๋น์ฉ์ ์์คํ๋๊น...) ๋ฑ์ ์์ ์ ์งํํ๋ค.
๐ ๋ชปํ ์
- ํ๋ก ํธ ๋ฐฐํฌ๋ฅผ ์งํํ Netlify๋ https๊ณ ์๋ฒ๋ SSL ์ธ์ฆ์ ๋ฐ์ง ์์ http๋ค. http์ https์ ํต์ ์ ๊ธ์งํ๋ ๋คํธ์ํฌ ์ ์ฑ
๋๋ฌธ์ ๋ฐฐํฌ ํ๊ฒฝ์์๋ ํต์ ์ด ๋ถ๊ฐํ๋ค. ์ฌ๊ธฐ๊น์ง๋ง ์๊ณ ์์ด์ ๋ ์๋ํ์ง ์์๋ค๋ ์ ์ด ์ ์ผ ์์ฝ๋ค.
- Proxy ์ค์ ์ ์ถ๊ฐํ๊ฑฐ๋ ๋ณด์ ๊ด๋ จ ๋ฉํ ํ๊ทธ๋ฅผ ์ถ๊ฐํ๋ ์ ๋๋ ์๋ํด ๋ดค์ด๋ ์ข์์ ๊ฑฐ ๊ฐ๋ค.
- 2023๋ 04์ 11์ผ ๋ด๊ฐ ํด๋!!! https://heytossme.netlify.app/
- ์ผ์ ๊ด๋ฆฌ๋ฅผ ๋ ์ธ์ ๋ ์ํ๋ค ๋ชปํด ์ผ์ ์ด ํ์ด์ง๋ฉด ์คํธ๋ ์ค ๋ฐ๋ ์
- ์ฌ์ค ์ ์ผ ๋ต๋ตํ ๊ฑด ๋น์ฌ์์ผ ํ ๋ฐ ์ผ์ ์ด ๋ฏธ๋ค์ง๋ฉด ํ์๋ค์ ๋ฐ๋ฐ ๊ธ๊ธฐ๋ ํ๊ณ ์ข ์๋ฏผํด์ก๋ค. ํ์ ๊ณ ์ณ๋๊ฐ์ผ ํ ์์ ๋ผ๊ณ ์๊ฐํ๋ค.
- ์ด๋ค ํ์์ ์ปค๋ฎค๋์ผ์ด์
์ด ์ ๋ผ์ ๋ง์กฑํ๋ค๋ ์๊ธฐ๋ฅผ ํ์๋๋ฐ, ๋๋ ์์ ํ ๋ฐ๋ ์
์ฅ์ด๋ค.
- ํนํ๋ ์ ๋๋ ๊ฑฐ ๊ณต์ ๊ฐ ๋ง์ด ๋๋ ๋ค. ๋๋ ๊ฑฐ ๊ณต์ ๋ณด๋ค ์ ๋๋ ๊ฑฐ ๊ณต์ ๊ฐ ์ค์ํ๋ค. ์ค๋ ๋ฌด์กฐ๊ฑด ํด๊ฒฐํ ์ ์๋ ์ค๋ฅ๋ ์ ๋ ์๋๋ฐ, ์๊พธ ์ค๋ ์์ ๋ฌด์กฐ๊ฑด ํด๊ฒฐํ๊ฒ ๋ค๋ ํผ๋๋ฐฑ๋ง ๋์์ค๋ ์ ์ด ๋ต๋ตํ์๋ค. ์ฐ๋ฆฌ ํ์ ๋ชจ๋ ๋ค ์ฑ ์๊ฐ์ด ๊ฐํด์ ์๊ธฐ ๋ด๋น ์ผ์ ๋จ์๊ฒ ๋ ๋๊ธฐ๋ฉด ์ ๋๋ค๋ ์๊ฐ์ ํ์๋ ๊ฑฐ ๊ฐ์๋ฐ, ๋์๊ฒ ๋ฌธ์ ๊ฐ ์๋ค๋ฉด ํ์๋ค์๊ฒ ๋นจ๋ฆฌ ๊ณต์ ๋ฅผ ํ๊ณ , ๊ฐ์ด ํด๊ฒฐ์ฑ ์ ์ฐพ์๋๊ฐ๋ ์ผ์ด ๊ฐ์ฅ ๊ด๊ฑด์ธ ๊ฒ ๊ฐ๋ค. ํด๊ฒฐ์ ํ ์ ์๋ค๋ฉด ๋นจ๋ฆฌ ๋จธ๋ฆฌ ๋ง๋๊ณ ํ๋ ๋น๋ผ๋ ์ธ์์ผ ํ๋ค. ์ด๋ฒ์ ์ง์ง ๋ง์ด ๋๊ผ๋ค.
๐ ๋๋ ์
- ํ์ ์ง์ด์ด์ด์ด์ด์ด์ด์ธ์ง ํ๋ค๊ณ ๊ฐ๋ ์ฑํ๊ธฐ๋ ํ๋๋ฐ ๋๋๋ฉด ํ๋ค์๋ ๊ฑฐ ๋ค ๊น๋จน๊ณ ๋ง๋ฅ ์ข๊ณ ํ์๋ค ๊ฑ ๋ค ๊ธฐํนํด ๋ณด์ธ๋ค๋(์ ๋ณด๋ค ์ธ๋ ์ค๋น ๋ ๊ณ์ ๋ฐ ์ฃ์กํ๊ฒ ์๊ฐํฉ๋๋ค) ์ ์ด ์ง์ง ๋งค๋ ฅ ์๊ณ ์ค๋ ์ฑ ์๋ค. ๊ณผ์ ์ด ๋ง๋ฅ ์ ๋๊ณ ์ฌ๋ฐ์ง๋ง์ ์๋๋ฐ ๋ค ๋๋๊ณ ์๊ฐํด ๋ณด๋๊น ๋๊ฒ ์ฌ๋ฐ๊ณ ์ ๋ฌ๋ ๊ฑฐ ๊ฐ๋ค...
- ๋์ด๊ฐ ๋ง์ ๊ฑด ์๋์ง๋ง ๋ํ ์กธ์ ํ๊ณ ๋ถํฐ๋ ์ด์ ๋์น๊ฒ ์ด๋ค ์ผ์ ์ํ ๊ธฐํ๊ฐ ์์๋ ๊ฒ ์ฌ์ค์ด๊ณ ์์ผ๋ก๋ ์ง์ง ์์ ๊ฑฐ ๊ฐ์์ ์ข ์น์ดํ๊ฒ ํ๋ค. ์ด์ง๊ฐํ๋ฉด ๋ถ๋๋ฌ์์ ์ ์ด์ฌํ ํ์ด์ ์ด๋ฐ ๋ง ์ ๋ชปํ๋๋ฐ ์ด๋ฒ์ ์ง์ง ์ด์ฌํ ํ๋ค. ๋ ์ํ๋ค.
- ๋ด์ผ๋ถํฐ๋ ๋ฏธ๋ค์๋ ๊ฐ์ธ ํ๋ก์ ํธ์ ์ฝ๋ฉ ํ ์คํธ ์ฐ์ต์ ํด์ผ๊ฒ ๋ค๊ณ ์๊ฐํ๋ค. ๋ ๋ฌ ๋์ ์ ๋ชป ์๊ณ ๋ ๋ฒ์ ๊ฑฐ์น ํ์ ์ ๋๋์ผ๋๊น... ์ด์ ์ ๋ ์๊ณ ์ด๋๋ ํ๊ณ ์ฝ๋ฉ๋ ํ๊ณ ๊ฐ์ ์ด ๊ฑฐ์ผ!!!
'Project' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ฐ์ธ ํ๋ก์ ํธ #wheregram ๊ธฐ๋ฅ ๊ฐ์ ๊ธฐ (0) | 2023.04.16 |
---|---|
๊ฐ์ธ ํ๋ก์ ํธ #wheregram ์ต์ข ํ๊ณ (1) | 2023.04.09 |
Review | Tomato Pad (๋ฐ๋๋ผ JS๋ก ๊ทธ๋ฆผ ์ฑ ๋ง๋ค๊ธฐ) (1) | 2022.10.29 |
Review | Momentum ํด๋ก ์ฝ๋ฉ ์์ฑ! (0) | 2022.10.22 |