๊ฐ์ธ ํ๋ก์ ํธ #wheregram ์ต์ข ํ๊ณ
๐ Overview
2023๋ 03์ 12์ผ ~ 2023๋ 04์ 08์ผ
๐ผ ๊ตญ๋ด ์ฌํ ์ ๋ณด · ํ๊ธฐ ๊ณต์ ํ๋ซํผ
Notion https://trustmitt.notion.site/wheregram-1d19d37a91224cdbacf4536c15dae1a7
#wheregram
๊ตญ๋ด ์ฌํ ์ ๋ณด · ํ๊ธฐ ๊ณต์ ํ๋ซํผ
trustmitt.notion.site
Github https://github.com/trustmitt/wheregram
GitHub - trustmitt/wheregram: ๊ตญ๋ด ์ฌํ ์ ๋ณด · ํ๊ธฐ ๊ณต์ ํ๋ซํผ โบ
๊ตญ๋ด ์ฌํ ์ ๋ณด · ํ๊ธฐ ๊ณต์ ํ๋ซํผ โบ. Contribute to trustmitt/wheregram development by creating an account on GitHub.
github.com
๐ Project
๐ tech stack
Language TypeScript
Framework React NextJS
State Management Tools Redux-Toolkit Redux-Persist
Style Styled-Components Chakra UI
Deploy Vercel
CI / CD Github Actions
Interface Firebase browser-image-compression Kakao Map API Intersection Observer API
๐ ์๋น์ค ์์ฐ
๐ ํ์ด์ง ๊ตฌ์ฑ
- ๐ก ๋๋ฉ ํ์ด์ง
- ์ข์์ ์ ์์ 4๊ฐ ๊ฒ์๊ธ ๋ ธ์ถ
- ๊ฐ ํ์ด์ง ์ง์ ๊ฐ๋ฅํ ๋ค๋น๊ฒ์ด์ ํธํฐ ๊ตฌ์ฑ
- ๐ก ๋ก๊ทธ์ธ, ํ์๊ฐ์
- ๐ก explore
- ๋ชจ๋ ์ ์ ์ ๊ฒ์๊ธ ํ์ ๊ฐ๋ฅ
- ์ข์์, ๋๊ธ ๊ธฐ๋ฅ ๊ตฌํ
- ๋ค๋ฅธ ์ ์ ์ ํ๋กํ ํ์ด์ง ์ง์ ๊ฐ๋ฅ
- ๋ฌดํ ์คํฌ๋กค ์ ์ฉ
- ๐ก write
- KAKAO MAP API๋ก ์ง๋ ๊ธฐ๋ฅ ๊ตฌํ, ์ง๋ ์์ญ ํด๋ฆญ ์ ์๋ · ๊ฒฝ๋๋ฅผ ํตํด ํด๋น ์์น์ ์ฃผ์๋ฅผ ๋ฐ์์ด
- ์ด๋ฏธ์ง ์ ๋ก๋ ์ ์์ถ(์ต๋ 2MB)ํ์ฌ DB์ ์ ์ฅ
- ๋ณ์ ๊ธฐ๋ฅ ๊ตฌํ
- ๐ก search
- ๋๋ฐ์ด์ฑ ์ ์ฉ
- ํ์ด์ด๋ฒ ์ด์ค ํค์๋ ๊ฒ์ ๋ฏธ์ง์์ผ๋ก ์ธํด ๊ฐ ๋ฐ์ดํฐ ํ๋์ ์ธ๋ฑ์ค ๋ฐ์ดํฐ ์ ์ฅ ํ ๊ฒ์ ๊ธฐ๋ฅ ํ์ฉ
- ์์ธ ํผ๋ ํ์ด์ง ์ง์ ๊ฐ๋ฅ
- ๐ก profile
- ์ ์ ์ ๊ฐ๋จํ ํ๋กํ๊ณผ ์ ์ ๊ฐ ์์ฑํ ๊ฒ์๊ธ ํ์ธ ๊ฐ๋ฅ
- ๐ก settings
- ํ๋กํ ์ด๋ฏธ์ง, ๋๋ค์ ๋ณ๊ฒฝ ๋ฐ ๋ก๊ทธ์์, ํ์ ํํด ๊ธฐ๋ฅ ์ง์
๐ ํ๋ก์ ํธ ํ๊ณ
- ๋ฉํ ๋ง ์์ด ์งํํ๋ ์ฒซ ํ๋ก์ ํธ๋ผ์ ํน์๋ ์ค๊ฐ์ ์ฐ์ผ๋ก ๊ฐ๋ฒ๋ฆฌ๋ฉด ์ด๋กํ๋ ์ถ์ด ๊ธฐํ ๋จ๊ณ์์ ์ ํ๋ ์๊ธฐ์ ๋ชฉ์ ์ด ์์๋ค. ๊ฐ์ ํ ๋ถ๋ถ์ด์ผ ๋ฌผ๋ก ์๊ฒ ์ง๋ง ์ ๋ฐ์ ์ผ๋ก ์ด๊ฑธ ๋ชจ๋ ๋ฌ์ฑํ๋ค๋ ์ ์ด ๊ฐ์ฅ ๋ป๊น๋ค.
- NextJS๋ฅผ ํตํ ํจ์จ์ ์ธ ์ฝ๋ ์์ฑ
- ๋ฌดํ ์คํฌ๋กค ์ ์ฉ
- ์ด๋ฏธ์ง ์ต์ ํ๋ฅผ ํตํ ์ฑ๋ฅ ๊ฐ์
- Firebase ์ดํด๋ ์ ๊ณ , ์คํ ๋ฆฌ์ง์ ์ด๋ฏธ์ง ์ ๋ก๋ ํ ํ์ฉ
- ๊ฒ์์ฐฝ ๋๋ฐ์ด์ฑ ์ ์ฉ
- KAKAO MAP API๋ฅผ ํตํ ์ง๋ ์ถ๋ ฅ
- ์ ์ ๊ฐ ์์น๋ฅผ ํด๋ฆญํ๋ฉด ํด๋ฆญํ ์ฅ์์ ์ด๋ฆ, ์ฃผ์๊ฐ ๋ฐ์์ค๊ธฐ
- ํ์ด์ด๋ฒ ์ด์ค ์๋น์ค๋ฅผ ์ฌ์ฉํด์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ ๊ฑด ์ด๋ฒ์ด ๋ ๋ฒ์งธ์ธ๋ฐ, ์ฒซ ๋ฒ์งธ ํ๋ก์ ํธ์์ ์คํจํ๋ ์ด๋ฏธ์ง ์คํ ๋ฆฌ์ง ์ ๋ก๋๋ ์๋ธ ์ปฌ๋ ์ ์ ์ด์ฉํ ๋๊ธ ๊ธฐ๋ฅ์ ํฐ ์ด๋ ค์ ์์ด ๊ตฌํํ ์ ์๊ฒ ๋๋ค. ๋ ์ง์ง ์ซ ๋์๋ ๋ณธ๋ฐ...
- ๊ฐ์ฅ ์์ฌ์ด ์ ์ ํค์๋ ๊ฒ์์ด๋ค. ํ ์คํธ ๊ฒ์ ๋น์ฐํ ๋ ์ค ์๊ณ ์์๋ ๊ฒ ํจ์ฐฉ ์์ธ์ธ๋ฐ, ๊ทธ๋๋ง ๋ด๊ฐ ์ ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ ์ค ๊ฐ์ฅ ํฉ๋ฆฌ์ ์ธ ๋ฐฉ๋ฒ์ ์ ์ฉํ๋ค๊ณ ์๊ฐ์ ํ์ง๋ง... ๊ฒ์ ์์ง API ๊ณผ๊ธ๋ ์ผ๋ง ์ ๋๋ค๋๋ฐ ๋ถ์ฌ์ ํ ๋ฒ ํด ๋ดค์ผ๋ฉด ์ข์์๊ฑธ ์ถ์ ์๊ฐ๋ ๋ ๋ค.
- ๊ทธ๋ฆฌ๊ณ ๋ ์์ฌ์ด ๊ฑด ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ... ์ด๋ ค์ด ๊ฒ๋ ์๋๋๊น ๋ก๊ทธ์ธ ํผ ๋ง๋ค์๋ง์ ๋ฐ๋ก ๋ถ์ฌ๋ฒ๋ ธ๋ ๊ธฐ๋ฅ์ธ๋ฐ ํ์ด์ด์คํ ์ด์ user ์ปฌ๋ ์ ์ ๋ง๋ค๋ฉด์๋ถํฐ ๋ญ๊ฐ ์ข ๋ณต์กํด์ง๊ธฐ ์์... ์ด๋ฉ์ผ ์ ์ ๋ ํ์๊ฐ์ ํ ๋ ํ์ํ ์ ๋ณด๋ฅผ ๋ค ๋ฐ๋๋ฐ ๊ตฌ๊ธ ์ ์ ๋ ๊ทธ๊ฒ ์๋๋๊น... ๊ตฌ๊ธ ๋ก๊ทธ์ธ ์ ์ ๋ง ๋ฐ๋ก form์ ๋ฐ๋ ํ์ด์ง๊ฐ ์์ด์ผ ํ๊ณ ... user ์ปฌ๋ ์ ์ form ์ ๋ณด๊ฐ ์๋ ์๋ ์ฒดํฌํด์ ์กฐ๊ฑด๋ถ ๋ ๋๋ง ์ฒ๋ฆฌ๋ฅผ ํ๋ค... < ์ฌ๊ธฐ ๊ณผ์ ์์ ๊น๋ํ(์ง ๋ชปํ)๊ฒ ๋๋ํจ... ํ์ ๊ธฐ๋ฅ์ด ์๋๊ธฐ ๋๋ฌธ์ ๋๋ํ๊ธด ํ๋๋ฐ ์์ ๋ก๊ทธ์ธ ์๋ ํ๋ก์ ํธ ์ฒ์์ด๋ผ์ ์ด๋๋ ๋๋ ์ถ๊ธด ํ๋ค.