Folders and files ย
ย
ย
ย
ย
ย
ย
ย
ย
ย
View all files
Repository files navigation
๊ด์ฌ ์ด๋๊ณผ ์ง์ญ์ ๋ฑ๋กํ์ฌ ๊ด์ฌ์ด ๊ฒน์น๋ ์น๊ตฌ๋ฅผ ์ฐพ๋ ์ด๋์ธ ๋ฉ์ดํ
ํ๋ซํผ
์๋๋ฐฉ์ ํ๋กํ์นด๋๋ฅผ ๊ตฌ๊ฒฝํ์ฌ ๋งค์นญ ์ ์ฒญ์ ํ๊ณ , ๋งค์นญ์ด ๋๋ฉด ์ค์๊ฐ ์ฑ
์น๊ตฌ๋ฅผ ์ฐพ์ผ๋ฉด ํจ๊ป ์ด๋ํ ์์ค์ ์ถ์ฒ
๐จโ๐จโ๐ฆโ๐ฆย ํ์ ๊ตฌ์ฑ
FE, BE ๊ฐ๋ฐ์ 1๋ช
(๋ณธ์ธ) : FE, BE ๋ชจ๋ ๋ถ๋ถ ๋ด๋น
๊ธฐํ์ 1๋ช
: ์๋น์ค ๊ธฐํ, ๋ง์ผํ
๋ด๋น
๋์์ด๋ 1๋ช
: ์๋น์ค ๋ชจ๋ ๋์์ธ ํํธ ๋ด๋น
SNS ๋ก๊ทธ์ธ : Node.js passport Oauth 2.0์ ์ด์ฉ
์นด์นด์ค, ๋ค์ด๋ฒ, ๊ตฌ๊ธ ์์
๋ก๊ทธ์ธ์ ํตํ์ฌ ์๋น์ค ์ฌ์ฉ
passport library Oauth2.0์ ์ฌ์ฉ, ์ธ์
์ ํตํ์ฌ ๋ก๊ทธ์ธ ์ ์ ๋ฅผ ์๋ณ
์ฒ์ ๋ฐฉ๋ฌธํ๋ ์ ์ ๋ ์ธ์ฌ ๋ฌธ๊ตฌ ์ฌํ๋์๋ฅผ ์ ํ ๋ค ์ ๋ณด์
๋ ฅ ํ๋ก์ฐ๋ก ์ด๋
FE์์ Context API ๋ฅผ ํตํ์ฌ ๋ก๊ทธ์ธํ ์ ์ ์ ์ ๋ณด์ ๋ก๊ทธ์ธ ์ํ๋ฅผ ๊ด๋ฆฌ
๊ด์ฌ ์ด๋ / ์ง์ญ ์ ํ
์ต๋, ์ต์ ์ ํ ๊ฐ์๋ฅผ ๋ง์กฑํ๋ฉด ๋ค์ ๋ฌธํญ ๋ฒํผ ํ์ฑํ
์ด์ ๋ฌธํญ์ผ๋ก ๋์๊ฐ๋ ์ ํํ ์ฌํญ์ด ๊ทธ๋๋ก ์ฒดํฌ ์ ์ง
ํ๋กํ ์ฌ์ง / ๋๋ค์ / ์๊ธฐ ์๊ฐ ๋ฑ๋ก - ์ด๋ฏธ์ง ๋ฐ์ดํฐ ๊ด๋ฆฌ : Cloudinary ์ด์ฉ
ํ์ ์
๋ ฅ ์ฌํญ์ ๋ชจ๋ ๊ธฐ์
ํด์ผ ํ์ธ ๋ฒํผ ํ์ฑํ
๋๋ค์๊ณผ ์๊ธฐ์๊ฐ๋ byte๋ฅผ ๊ณ์ฐํ์ฌ ์ด๊ณผํ์ฌ ์์ฑ ์๋๋๋ก ์ ํ
์ด๋ฏธ์ง ๋ฑ๋ก์ cloudinary์ ๋ฑ๋ก๋๋ฉฐ, ํด๋น url์ด ํด๋น ์ ์ ์ db์ ์ ์ฅ๋จ
cloudinary์ ์ด๋ฏธ์ง๊ฐ ๋ฑ๋ก๋๋ ์ค์๋ ๋ฒํผ ๋นํ์ฑํ, ๋ฑ๋ก ์๋ฃ ํ ๋ฒํผ ํ์ฑํ
ํ๋ฆฌ๋ทฐ ์นด๋๋ก ์
๋ ฅ์ฌํญ์ ํ์ธ ํ ์ ์ ์ ๋ณด db์ ์
๋ฐ์ดํธ
๋ค์์ ์ด๋ฏธ์ง ๋ฑ๋ก์ ๊ฐ์์ ๋ง๋ ์ด๋ฏธ์ง ์ฌ๋ผ์ด๋๋ก ์๊ฐํ
๋ฑ๋ก ์ ์ฐจ๋ฅผ ์๋ฃํ๋ฉด ์คํ๋์๋ก ์๋น์ค ์ฌ์ฉ ๋ฐฉ๋ฒ ํํ ๋ฆฌ์ผ์ ์ ๊ณต
๋ณธ์ธ์ ํ์ฌ๋ฅผ ํด๋ฆญํ์ฌ ์ ๋ณด ์์ ๊ฐ๋ฅ, ์์ ์๊ฒ ๋งค์นญ ์ ์ฒญํ ํ์ ์ ๋ค์ ์ค๋ง์ผ ์ด๋ชจํฐ์ฝ์ผ๋ก ํ์
ํํ๋ฉด - ํจ๊ป ์ด๋ํ ํ์ ์ ๋ค ์ถ์ฒ
๋ณธ์ธ์๊ฒ ๋งค์นญ ์ ์ฒญ์ ํ ์ ์ ๊ฐ ์๋ ๊ฒฝ์ฐ ์ค๋ง์ผ ์ด๋ชจํฐ์ฝ์ผ๋ก ํ์
9๋ช
์ ์ ์ ๋ ์ ์ฒด ๊ฐ์
์๋ค ์ค์์ ๋๋คํ๊ฒ ์ถ์ฒ
ํํ๋ฉด์ ์ ์ ๋ค ๋ฐฐ์น๋ฅผ ๋ถ๊ท์น์ ์ด๊ฒ ํ์ฌ ๋ค๋ฅธ ๋์์ธ๋ค๊ณผ ์ฐจ๋ณํ
์ค์์ ๋ณธ์ธ ํ๋กํ๊ณผ ๊ฐ๊น์ธ์๋ก ๊ณตํต ๊ด์ฌ๋ถ์ผ๊ฐ ๋ง์ ์ ์ ๋ค์ ์ถ์ฒ(๊ฐ๋ฐ ์งํ์ค)
ํํ๋ฉด ๋ฉ๋ด - ๋ก๊ทธ์์ / 1:1 ๋ฌธ์
๋ก๊ทธ์์ ํ์ธ ์ ๋ก๊ทธ์์ ์๋ฃ
1:1 ๋ฌธ์๋ ๊ด๋ฆฌ์์์ ์นดํก์ผ๋ก ์ฐ๊ฒฐ
์ ์ ์ ๋ณด ์์ (ํ๋กํ์ฌ์ง, ์ด๋, ์ง์ญ, ์๊ธฐ์๊ฐ ๋ณ๊ฒฝ)
๋ณ๊ฒฝ๋ ์ ํ๋ค์ ์ํ๊ฐ ๋ณด์ฌ์ง๋ฉฐ, ์ต์ข
์์ ํ์ธ ๋ฒํผ ํด๋ฆญ์ ์ ๋ณด ์
๋ฐ์ดํธ
๋ณ๊ฒฝ ๋์ค ์ทจ์ํ ๊ฒฝ์ฐ ์ด์ ์ ์ ๋ณด๋ก ๋๋์๊ฐ
ํ์ ์ ๋ค์ ํ๋กํ์นด๋ ๊ตฌ๊ฒฝ๊ณผ ๋งค์นญ ์ ์ฒญ / ์๋ก ๋งค์นญ ์ฑ๊ณต ์ ์ฑํ
๋ฆฌ์คํธ์ ์๋๋ฐฉ ํ๋กํ์นด๋ ์์ฑ๋จ
๋งค์นญ ๋ฏธ์ ์ฒญ, ์ ์ฒญ, ๋งค์นญ๋ ์ ์ ์ ์ํ์ ๋ง์ถ์ด ๋ฒํผ์ ์์ด์ฝ์ด ์๊ฐํ
user์ ๋ฐ์ดํฐ์ follower, following ์นดํ
๊ณ ๋ฆฌ๋ฅผ ๊ตฌ์ฑํ์ฌ ๋งค์นญ ์ ์ฒญ์ ๋ฐ์ดํฐ ์
๋ฐ์ดํธ
๋ค๋ฅธ ์ ์ ์ ํ๋กํ์นด๋๋ฅผ ํด๋ฆญํด์ ์ด๋ํ ํ ๋๋์์ฌ๋ ํ์ด์ง๊ฐ reload๋์ง ์๋๋ก ์ปดํฌ๋ํธ๋ก ๊ตฌ์ฑ
๋ณธ์ธ์ ํ๋กํ์นด๋ ํด๋ฆญ์ route path๋ฅผ :id๋ก url์ ๋ถ๊ธฐํ์ฌ ์๋น์ค ํ๋ก์ฐ ์๋์ ๋ง์ถ์ด ๋ค๋ฅด๊ฒ ๊ตฌ์ฑ
messenger page : ๋งค์นญ ์ฑ๊ณต๋ ์ ์ ๋ค ๋ฆฌ์คํธ / ํ๋กํ ํด๋ฆญ ์ ๋ํ์ฐฝ์ผ๋ก ์ฐ๊ฒฐ / ํธ์ง ๋ฉ๋ด๋ก ์ญ์ ๊ฐ๋ฅ
๋งค์นญ๋ ๋ฆฌ์คํธ ์์ ์ ํ๋กํ๋ค ๋์ ๊ธฐ๋ณธ ์๋ด ๋ฌธ๊ตฌ ์ ๊ณต
ํธ์ง ๋ฉ๋ด๋ก ๋ํ ๋ชฉ๋ก์์ ๋ํ ๋ฆฌ์คํธ ์ญ์ ๊ฐ๋ฅ
์์ฝ์ ๋ฉ์ธ์ง๊ฐ ์์๋ ๊ฒฝ์ฐ ํ๋กํ ์ข์๋จ์ ์ฃผํฉ์ ์๋ฆผ ๋งํน
์๋ก ๋งค์นญ๋ ์ธ์ - ์ต๊ทผ ๋ฉ์ธ์ง ์๋ ์์๋ก ๋ฆฌ์คํธ ์ ๋ ฌ
Socket io ๋ฅผ ์ฌ์ฉํ์ฌ ์ฑํ
๊ธฐ๋ฅ ๊ตฌํ(websocket)
model์ conversation๊ณผ message๋ก ๋๋์ด, ๊ฐ ๋ํ์ ํด๋นํ๋ ์ ์ ๋ค ๊ฐ์ ๋ฉ์ธ์ง๋ฅผ ๋์ฐ์ด ์ ์ฅ
sender, receiver, lastMessage ๋ฑ๋ฑ์ ์ ๋ณด๋ค์ ๋ค๋ฃจ์ด ๋ง์ง๋ง ๋ฉ์ธ์ง๊ฐ ์ผ๋ง๋ ์ ์ธ์ง ์๊ฐ ํ๊ธฐ
์๋๋ฐฉ์ด ์ฐ์์ ์ผ๋ก ์ฌ๋ฌ ๋ฉ์ธ์ง ๋ณด๋ผ ๊ฒฝ์ฐ ํ๋กํ์ฌ์ง ํ๋๋ง ํ์
์ฑํ
์ฐฝ์์ ๊ฐ์ ์๊ฐ์ ๋ณด๋ธ ๋ฉ์ธ์ง๋ค์ ์๊ฐ์ ํ๋๋ง ํ๊ธฐ
์๋๋ฐฉ๊ณผ ๋ณธ์ธ์ ๋ฉ์ธ์ง UI์ ๋ ์ด์์์ ๊ตฌ๋ถ, ํ๋ฃจ๊ฐ ๋์ด๊ฐ๋ฉด ๋ ์ง์ ๊ตฌ๋ถ์ ํ์
socket io๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ ๊ฐ์ ์ค์๊ฐ ์ฑํ
๊ตฌํ
์ด๋์ฅ ํ์ด์ง - ์์ค ์ถ์ฒ / ์์ค ์ ๋ณด ์ ๊ณต
์์ค๋ค์ ์ธ๋ค์ผ ์์๋ ๋๋คํ๊ฒ ์ ๊ณต
๊ฐ ์ฝํ
์ธ ์ ํด๋น๋๋ ์ ๋ณด์ ํ๊ทธ๋ค ๊ตฌ์ฑ
์์ค ์ด๋ฏธ์ง๋ค์ ์ฌ๋ผ์ด๋๋ก ์๊ฐํ
์ธ์ด : HTML CSS JavaScript
์ฝ๋ฉ ์คํ์ผ : ESlint Prettier
ํ๋ ์์ํฌ : React
๋ฐฐํฌ : Netlify Render
์คํ์ผ : Tailwind CSS Styled-Components
๋ฐฑ์๋ : Node.js Express
์ํ ๊ด๋ฆฌ : Context API
DB : MongoDB Cloudinary
VCS : GitHub
etc : Figma Socket io Hotjar
Styled-Components์ Tailwind CSS๋ฅผ ์ํฉ์ ๋ง์ถ์ด ์์ด ํ์ฉ
๋ ์ด์์ ๋ฐฐ์น : Tailwind์ ์ง๊ด์ ์ผ๋ก ์์ ์ ํ ์ ์๋ ์ฅ์ ์ ํ์ฉ
์ปดํฌ๋ํธ ์คํ์ผ๋ง : Styled-Components๋ฅผ Tailwind ๋ฌธ๋ฒ์ผ๋ก ์ฌ์ฉํ์ฌ ์ ๋๋ ๊ตฌ์ฑ๊ณผ ์ ํธ๋ฆฌํฐ์ฑ์ธ ์ฅ์ ์ ํ์ฉ
๋ณต์กํ ์คํ์ผ๋ง : ์ค๋ฆฌ์ง๋ Styled-Component์ Tailwind ๋ฌธ๋ฒ์ผ๋ก ์ด Styled-Component๋ฅผ ๋๋์ด ์ฝ๋๋ฅผ ์์ฑ, ์ด ๋์ ํ๋์ ํ๊ทธ์ ์ ์ฉํ์ฌ ํ๋์ ํ๊ทธ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์์ผ๋ก ์์
๋ฐฐํฌ ํ๊ฒฝ / ๊ฐ๋ฐ ํ๊ฒฝ ์ค์
๋ฐฐํฌ : FE - Netlify / BE - Render ๋ฐฐํฌ
.env ๋ฅผ ํตํ์ฌ ํ๊ฒฝ๋ณ์๋ฅผ ๊ฐ๋ฐ/ ๋ฐฐํฌ ํ๊ฒฝ์ ๋๋์ด ์ค์ ํ ํ, ๊ฐ ํ๊ฒฝ์ ํด๋นํ๋ URI ์ ์ฉ
Github repo์๋ main๊ณผ develop 2๊ฐ์ ๋ธ๋์น๋ก ๋๋๊ณ , ๋ฐฐํฌ์ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์์
์ ์งํํ๋ฉด์ ํ์ธ ํ git pull๋ก ์
๋ฐ์ดํธํ๋ฉฐ ์งํ
main branch push ์คํ ์ ๋ณ๊ฒฝ์ฌํญ์ด ์๋ ๋ฐฐํฌ๋๋๋ก ํ๋ก๋์
CD๋ฅผ ์ค์
Responsive View
responsive view extension์ ์ฌ์ฉํ์ฌ ๋ค์์ ๋ชจ๋ฐ์ผ ํ๊ฒฝ์์ ๋์์ธ๊ณผ ๋ ์ด์์์ ๋ฌธ์ ๊ฐ ์๋์ง ํ์ธ
๋ชจ๋ฐ์ผ ํ๊ฒฝ์์ ์ฌ์ฉ๋ ์๋น์ค์ด๊ธฐ์ pcํ๊ฒฝ์ ์ต์ํ์ ๋์์ธ๋ง ๋ฐ์
์ฌ์ฉ์ ๋ฐ์ดํฐ ๋ถ์ Hotjar
ver1 ์ ๊ฒฝํ : croxple ver.1 ์์๋ ์น ๋งํฌ๋ฅผ ํตํด์ ์ฌ๋๋ค์๊ฒ ๋งค์นญ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ ํธ๋ ์กฐ์ฌ๋ฅผ ํ์ฌ ์ด๋์น๊ตฌ๋ฅผ ์ฐพ์์ฃผ์์ต๋๋ค. ๋น์์ hotjar์ ํตํด์ ์ค์ฌ์ฉ์๋ค์ ๊ด์ฐฐํ์์ต๋๋ค.
hotjar์ ํตํด์ ์ฌ์ฉ์ ๊ฒฝํ์ ๊ด์ฐฐ - ์ด๋ฅผ ํตํด ํ์ ๋นํ์ฑํ ๋ฒํผ์ด ๊ณต์ง๋ฅผ ์ฌ๋ผ์ด๋๋ก ๋ค ๋ณด์์ผ ํ์ฑํ ๋ฒํผ์ผ๋ก ๋ฐ๋๋ ํ๋ก์ฐ๊ฐ ux๋ฉด์์ ๋นํฉ์ค๋ฌ์์ ๋ฐ๊ฒฌ / ์ด๋ ๋ฌธํญ์์ ๊ฐ์ฅ ๊ณ ๋ฏผํ๋์ง ๋น๊ต / pc(macOS, Window), mobile(ios, android), ํ๋ธ๋ฆฟ ๋ฑ๋ฑ ๋ค์ํ ํ๊ฒฝ์์ ์ ์๋จ / ์ด๋ ๊ฒฝ๋ก๋ก ์ ์
์ด ๋ง์ด ๋๋๊ฐ / ๋ฑ๋ฑ์ ์์๋ด
๐งโ๐ปย ํ์
ํํธ
ํผ๊ทธ๋ง๋ฅผ ์ฌ์ฉํ์ฌ ๋์์ด๋์ ์จ๋ผ์ธ์ผ๋ก ํผ๊ทธ๋ง ๋ด๋ถ ์์ฑ ํ์ ํด์ ์ฌ์ฉํ์ฌ ์ค์๊ฐ์ผ๋ก ์์ฃผ ํ์๋ฅผ ๋๋์์ผ๋ฉฐ, add comment ๊ธฐ๋ฅ์ผ๋ก ์ธ๋ถ์ฌํญ๋ค์ ๋จ๊ธฐ๊ณ ์ฒดํฌํ๋ฉฐ ์งํํ์์ต๋๋ค.
๋์์ด๋์ ๋์์ธ๊ณผ ๊ฐ๋ฐ ๊ฐ๊ฐ์์ ์์ฃผ ์ฌ์ฉ๋๋ ๋์์ธ ์์คํ
์ ์๋ก ๊ณต์ ํ๊ณ ์ค๋ช
ํ๋ฉฐ ๋ฐฉํฅ์ฑ๊ณผ ํจ์จ์ฑ์ ๊ตฌ์ถํ๋ฉด์ ์์
์ ์งํํ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ธ ํผ๊ทธ๋ง ๊ธฐ๋ฅ์ ์ฌ์ฉ ๊ฐ๋ฅํด์, ํ์์ ์ง์ ์์ค๋ฅผ ์ต์คํฌํธ / ๊ทธ๋ฆฌ๋ ์ฒดํฌ / ์คํ์ผ๋ง ๊ฐ๋ค์ ์ถ์ถ ๋ฑ๋ฑ์ ์ง์ ํ๋ฉฐ ํ๋ ฅ์ ํจ์จ์ฑ์ ๋์์ต๋๋ค.
์ต๋ ์
๋ ฅ byte ์ค์ ํ ๋์ ๊ฒฝ์ฐ ํ์ดํ ์๋๊ฒ ํ๊ธฐ / ์ด๋ฏธ์ง๊ฐ cloudinary์ ์
๋ก๋๋๋ ์ค์๋ ํ์ด์ง ์ ํ ์๋๋ก ux ์ค์ ํ๊ธฐ / ์ด๋ ๋ถ๋ถ์ loading page๊ฐ ๋
ธ์ถ๋๋์ง / ๋ค์ํ ๋ชจ๋ฐ์ผ์์ ๋ ์ด์์์ด ์ด์ํ ๋ถ๋ถ์ด ์๋์ง / ๋ฑ๋ฑ ๋น ์ง๊ฑฐ๋ ๊ฐ๋ฐ ์ง์์ด ํ์ํ ๋ถ๋ถ์ ๊ตฌํํ๋ฉด์ ๊ผผ๊ผผํ๊ฒ ์ฒดํฌํ์ฌ ๊ธฐํ์์ ๋
ผ์ํ์์ต๋๋ค.
์ต์ ์ธ์์ผ๋ก ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค๋ณด๋ ๋จ์ํ ์๋น์ค๋ฅผ ๊ทธ๋๋ก ๊ตฌํํ๊ธฐ ๋ณด๋ค, ์ ์๋ฏธํ ux์ ๊ตฌํ ๋ฐฉ๋ฒ๋ค์ ๊ฐ์ด ๊ณ ๋ฏผํ๋ฉฐ ์งํํ์์ต๋๋ค.
๊ฐ๋ฐ ํํธ ์งํ์ด ๊ฐ์ฅ ์ค๋ ๊ฑธ๋ ค์ PM ์ญํ ์ ๋ณํํ์ฌ ์
๋ฌด์ ์๊ฐ ์กฐ์จ์ ์งํํ์์ต๋๋ค. ๊ตฌํ ๋จ๊ณ์์๋ ์ฌ์ ์ ๋
ผ์ํ์ง ๋ชปํ ๋ํ
์ผํ ์ฌํญ๋ค์ด ๋ฐ๊ฒฌ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๊ธฐ์, ๋งค์ฃผ ์งํ์ ํ๋ฉด์ ์ค๋น ์ฌํญ์ ๋ค์ ์ฒดํฌํด์ฃผ๋ฉฐ ๊ธฐํ, ๋์์ธ, ๊ฐ๋ฐ์ ์งํ์ด ๋งค๋๋ฝ๊ฒ ์งํ๋๋๋ก ๋
ธ๋ ฅํ์์ต๋๋ค.
About
๐๐ปcroXple - ๊ฐ์ด ์ด๋ํ ์ด๋์ธ ๋ฉ์ดํ
๐๐ป [FE]
Topics
Resources
Stars
Watchers
Forks
You canโt perform that action at this time.