์บ ํ์ ๋ง์ ์ฌ๋๋ค์ด ์์ฐ๊ณผ์ ์ํต๊ณผ ๋ชจํ์ ์ฆ๊ธฐ๋ ์ธ๊ธฐ ์๋ ํ๋์
๋๋ค. ํ์ง๋ง ์บ ํ์ ํผ์์ ์ฆ๊ธฐ๋ ๊ฒ์ด ์๋๋ผ ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ํจ๊ป ๊ณต์ ํ๋ ๊ฒ์ด ๋์ฑ ์ฆ๊ฑฐ์ด ๊ฒฝํ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋ชจ๋ฅ๋ถ์ด ์บ ํ์ง์์ ์ฌ๋๋ค์ ๋ชจ์ ๋ฐ๋ปํ ๋ถ์๊ธฐ๋ฅผ ์กฐ์ฑํ๋ ๊ฒ์ฒ๋ผ, '๋ชจ๋ฅ๋ถ' ํ๋ซํผ์ ํตํด ์ฌ์ฉ์๋ค์ด ๋ชจ์ฌ์ ์์ฐ๊ณผ ์บ ํ์ ๊ดํ ์ด์ผ๊ธฐ๋ฅผ ๋๋๋ฉฐ ๋ฐ๋ปํ ๋ถ์๊ธฐ๋ฅผ ํ์ฑํ ์ ์๋ ๊ณต๊ฐ์ ๋ง๋ จํ๊ณ ์ ํ์ต๋๋ค.
TwoPlusOne ํ์ ์ฒซ ํ ์ด ํ๋ก์ ํธ์ด์, ์์ฐ๊ณผ ์ํตํ๋ ์บ ํ ๊ฒฝํ์ ์ฌ์ง ๋ฐ ์ง๋ ์์น ๊ณต์ ๊ธฐ๋ฅ์ ํตํด ์
๋ก๋ํ๊ณ ์๋ก ์ํตํ ์ ์๋ ํ๋ซํผ '๋ชจ๋ฅ๋ถ'์ ์๊ฐ๋๋ฆฌ๊ณ ์ ํฉ๋๋ค.
๐ 2023.05.01 - 2023.05.31
ํ๋ก์ ํธ ์งํ ๊ธฐ๊ฐ์ ์ฝ ํ ๋ฌ๋ก, ์ฃผ๋ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Google API | React-Quill | Naver Map API | ||
---|---|---|---|---|
1) ์์ ๋ก๊ทธ์ธ | 2) ๋ฉ์ธํ๋ฉด | 3) ๊ฒ์๊ธ ์๋ํฐ | 4) ๊ฒ์๊ธ ์์ธํ์ด์ง | 5) ๋ง์ดํ์ด์ง |
FrontEnd | FrontEnd | BackEnd |
---|---|---|
์ ํ๋ฆฐ๐ด |
์ด์ข
ํ๐ธ |
๋ฐ์ค์ฐ๐ค |
TypeScript | React.ts | Eslint | Prettier | Styled-components |
---|---|---|---|---|
TypeScript | Nodejs | MySql | Rest | jest | aws |
---|---|---|---|---|---|
(+ ฮฑ)
- ์ปค๋ฎค๋์ผ์ด์
๋ฐฉ๋ฒ
- ๋งค์ผ ์ค์ 10:30 Agile ํ๋ก์ธ์ค ๊ธฐ๋ฐ์ผ๋ก 10-20๋ถ๊ฐ ๋ฏธํ ์งํ
- ๋ฏธํ ๊ฐ ์์ ์งํ์ํฉ ๊ณต์ , Blocker ๋ฐ Blocker ํด๊ฒฐ๋ฐฉ์ ๊ณต์ , ๋น์ผ ์งํํ ์์ ๋ด์ฉ ๊ณต์
- Postman์ ํตํด ๋ฐฑ์๋ ๋ช ์ธ์ ๊ณต์
โ๏ธ์์
login.page.mov
โ๏ธ๊ตฌํ์ฌํญ
- ์์ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ๊ตฌํํ์์ผ๋ฉฐ ๊ตฌ๊ธ๋ก๊ทธ์ธ API๋ฅผ ์ด์ฉํ์ฌ ์งํํ์์ต๋๋ค.
- ๊ตฌ๊ธ๋ก๊ทธ์ธ ๊ตฌํ์
@react-oauth/google
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํ์์ต๋๋ค. - ๊ตฌ๊ธ๋ก๊ทธ์ธ ๋ฒํผ์ ์ปค์คํฐ๋ง์ด์ง ํ์ฌ ๊ตฌํํ์์ต๋๋ค.
- ๊ตฌ๊ธ๋ก๊ทธ์ธ์ ํตํด ๋ฐ์ token์ ๋ฐฑ์๋๋ก POSTํ์ฌ tokenํ์์ผ๋ก jwt ๋ก๊ทธ์ธ ๋ฐฉ์์ผ๋ก ๊ตฌํํ์์ต๋๋ค.
โ๏ธ์์
modakbul_feature_nav.mov
โ๏ธ๊ตฌํ์ฌํญ
- ๋ก๊ทธ์ธ์ด ๋์์ ๋์ ๋ก๊ทธ์์ ๋์์ ๋์ UI๊ฐ ๋ค๋ฅด๋๋ก ๊ตฌํํ์ต๋๋ค.
- ๋ก๊ทธ์ธ์ด ๋์์ ์์๋ง
mypage
๋ฐposting
ํ์ด์ง๋ก ๋์ด๊ฐ ์ ์๋ ๋ฒํผ ํ์ - ๋ก๊ทธ์ธ์ ํ ์ ์ ๋ง ๋ง์ดํ์ด์ง ๋ฐ ๊ฒ์๊ธ ์์ฑ ํ์ด์ง์ ์ ๊ทผํ ์ ์๋๋ก ํ๊ธฐ ์ํจ
- ๋ก๊ทธ์ธ์ด ๋์์ ์์๋ง
- nav์ ๋ฉ๋ด๋
map
,campsites
,about
์ธ ๊ฐ์ง๋ก,map
์ ์ถํ์ ์ถ๊ฐ๋ ๊ธฐ๋ฅ์ ๋๋ค. (ํ์ฌ ์ฌ์ฉX)campsites
๋ฉ๋ด๊ฐ ๋ฉ์ธํ๋ฉด์ผ๋ก ์ ์ ๋ค์ ๊ฒ์๊ธ์ ํ์ํ๋ ๋ฉ๋ด์ ๋๋ค.about
์ ํํ์ด์ง์ ๋ํ ๊ฐ๋จ์๊ฐ๊ธ์ ์์ฑํ ๊ณณ์ ๋๋ค. - ์ข์ธก
modakbul
๋ก๊ณ ๋ฅผ ํด๋ฆญํ๋ฉด ๋ฉ์ธํ๋ฉด์ผ๋ก ๋์ด๊ฐ๋๋ก ๊ตฌํํ์ต๋๋ค.
โ๏ธ์์
modakbul_feature_main.mov
โ๏ธ๊ตฌํ์ฌํญ
- ๋ฉ์ธํ์ด์ง์
campsites
๋ฉ๋ด๊ฐ ํํ์ด์ง ๋ฉ์ธ ๋ฉ๋ด๋ก, ์ ์ ๋ค์ด ์์ฑํ ๊ฒ์๊ธ์ ์ ๋ณด๊ฐ ๋ํ ์ฌ์ง ํ์ฅ๊ณผ ์ ๋ชฉ ๋ฐ ์ ์ ๋ช ์ ํ์ํ๋ฏ๋ก์จ ํ์ ์ ๋ณด๋ฅผ ํ๋์ ํ์ ํ ์ ์๋๋ก ํ์ต๋๋ค. - ํด๋น ๊ฒ์๊ธ์ ์ข์์ ์, ์คํฌ๋ฉ ์, ๊ทธ๋ฆฌ๊ณ ๋๊ธ ์๋ฅผ ํ์ํ๋ฏ๋ก์จ ๊ฐ๊ฐ ๊ฒ์๊ธ์ ์ธ๊ธฐ๋๋ฅผ ๋ํ๋ด๊ณ ์ ํ์์ต๋๋ค.
- ์ด๋ฅผ ํตํด ์ ์ ๋ค๋ก ํ์ฌ๊ธ ๊ฒ์๊ธ ๋ด์ฉ์ ๋ํ ๊ถ๊ธ์ฆ์ ์ ๋ฐ์์ผ ํด๋ฆญ์ ์ ๋ํ ์ ์๋๋ก ํ๊ธฐ ์ํจ์ ๋๋ค.
- ๊ฒ์๊ธ ์์ ๋ง์ฐ์ค๋ฅผ
hover
ํ๊ฒ ๋๋ฉด ๊ฒ์๊ธ์ ๊ฐ์ธ๊ณ ์๋ ๋ฐ์ค์ ์์ ๋ณ๊ฒฝ์์ผ ํด๋น ๊ฒ์๊ธ์ ์กฐ๊ธ ๋ ์ฃผ๋ชฉ์ํฌ ์ ์๋๋ก ํ์ต๋๋ค.
โ๏ธ์์
modakbul_feature_posting.mov
โ๏ธ๊ตฌํ์ฌํญ
react-quill
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒ์๊ธ ํธ์ง๊ธฐ ๊ธฐ๋ฅ์ ๊ตฌํํ์ต๋๋ค.์ ๋ชฉ
,๋ด์ฉ
,์ฌ์ง
, ๊ทธ๋ฆฌ๊ณ์ง๋
๋ฅผ ์ฒจ๋ถํ ์ ์๋๋ก ํ์์ผ๋ฉฐ, ์ ์ ๋ค์ ํธ์์ฑ์ ์ํด ์ต๋ํ ๋จ์ํ๊ฒ UI๋ฅผ ๊ตฌ์ฑํ๊ณ ์ ๋ ธ๋ ฅํ์ต๋๋ค.- ์บ ํ ๊ฒฝํ ๊ณต์ ์ ์์ด์ ์บ ํ์ง์ ๋ํ ์์น ๊ณต์ ๋ ์ค์ํ ์์๋ผ๊ณ ํ๋จํ์ฌ ์ด๊ธฐ ๊ธฐํ ๋๋ถํฐ
์ง๋
๊ธฐ๋ฅ์ ํ์๋ก ๋ฃ๋ ๊ฒ์ด ์ข์ ๊ฒ์ด๋ผ๊ณ ํ๋จํ์ต๋๋ค. - ๋ณธ์ธ์ ๊ฒฝํ์ ๊ณต์ ํ๋ ๋ฐ ์์ด์ ์ต๋ํ ๋จ์ํ๊ฒ UI๋ฅผ ๊ตฌ์ฑํ์ฌ ์ด๋์ ๋ฌด์์ด ๋ค์ด๊ฐ๋์ง ํ์ ํ๋ ํผ๋ก๋๋ฅผ ์ค์ด๊ณ ์ ํ์ต๋๋ค.
์ฌ์ง
์ ์ต๋ 10์ฅ๊น์ง๋ง ์ฒจ๋ถํ ์ ์๋๋ก ํ์์ผ๋ฉฐ, 10์ฅ ์ด์ ๋์ด๊ฐ ์์ ์ต์ด๋ก ์ ํํ 10์ฅ๋ง ์๋์ผ๋ก ์ ํ๋๊ณ ๋๋จธ์ง๋ ์ ํ์ด ํด์ ๋๊ฒ๋ ๊ตฌํํ์ต๋๋ค.- ์ ์ ๊ฐ
์ฌ์ง
์ ์ ๋ก๋ํ๊ธฐ์ ์์ ๋ฌด์จ ์ฌ์ง์ ์ ๋ก๋ํ๊ณ ์ ํ๋์ง ๋ฏธ๋ฆฌ ๋ณผ ์ ์๋๋ก ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๊ธฐ๋ฅ์ ๊ตฌํํ์ต๋๋ค.
- ์บ ํ ๊ฒฝํ ๊ณต์ ์ ์์ด์ ์บ ํ์ง์ ๋ํ ์์น ๊ณต์ ๋ ์ค์ํ ์์๋ผ๊ณ ํ๋จํ์ฌ ์ด๊ธฐ ๊ธฐํ ๋๋ถํฐ
โ๏ธ์์
posting.page.map.mov
โ๏ธ๊ตฌํ์ฌํญ
- ๋จ์ํ ์ฌ์ง๊ณผ ๊ธ๋ง ํฌ์คํ ํ๋๊ฒ์ด ์๋ ์บ ํ์ฅ์๋ ํจ๊ป ๊ณต์ ํจ์ผ๋ก์จ ๋ค์ํ๊ฒ ์ปค๋ฎค๋ํฐ๋ฅผ ํ์ฑํ ์ ์๋๋ก ๊ตฌํํ์์ต๋๋ค.
- ์ง๋๋
naver map api
๋ฅผ ์ด์ฉํ์ฌ ๊ตฌํํ์์ผ๋ฉฐ ์ฒซํ๋ฉด ์ง๋ ๋ ๋๋ง ์์น๋ ํ์์น์ ์ขํ๋ฅผ ๊ฐ์ ธ์ค๊ฒ ํ์์ต๋๋ค. - ๋ง์ปค๋ฒํผ์ ์ฐ์ด ์์น๋ฅผ ๊ณต์ ํ ์ ์๊ฒ ํ์์ผ๋ฉฐ ๋ง์ปค๋ฒํผ์ ํ ๊ฐ๋ง ์ฐ์ ์ ์๊ฒ ๊ตฌํํ์์ต๋๋ค.
- ์ฐ์ ๋ง์ปค๋ฒํผ์ ์๋, ๊ฒฝ๋๊ฐ์ ๊ฒ์๋ฌผ ํฌ์คํ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ ๋ฌ ๋ฉ๋๋ค.
โ๏ธ์์
- 1๋ฒ ์์
Detail.page.1.mov
- 2๋ฒ ์์
Detail.page.2.mov
โ๏ธ๊ตฌํ์ฌํญ
- ๋นํ์์ ๊ฒฝ์ฐ ๊ฒ์๋ฌผ์ ํ์ธํ ์ ์์ผ๋ ๊ทธ ์ธ์ ๊ธฐ๋ฅ์ ํ ์ ์๊ฒ ๊ตฌํํ์์ต๋๋ค.
- ์ข์์, ์คํฌ๋ฉ ๋ฒํผ์ ๊ตฌํํ์ฌ mypage์์ ์คํฌ๋ฉ ํน์ ์ข์์๋ฅผํ ๊ฒ์๋ฌผ์ ํ์ธํ ์ ์๊ฒ ๊ตฌํํ์์ต๋๋ค.
- ๊ฒ์๋ฌผ ์ด๋ฏธ์ง์ ๊ฒฝ์ฐ ์ฌ๋ฌ์ฅ์ ๋์ดํ๋๊ฒ์ด ์๋
slick
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ๋๊ธฐ๋ฉด์ ๋ณผ์ ์๊ฒ ๊ตฌํํ์ฌ UI/UX์ ์ธ ๋ถ๋ถ์ ๊ฐ์กฐํ์์ต๋๋ค. slick
์ผ๋ก ๊ตฌํํ ์บ๋ฌ์ ๊ธฐ๋ฅ์ ๊ฒฝ์ฐ ๋ค๋ฅธ ํ์ด์ง์์๋ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๊ฒ ์ปดํฌ๋ํธํ ์์ผ์ ๊ด๋ฆฌํ์์ต๋๋ค.- ๋๊ธ ๋ฆฌ์คํธ์์์ ๊ฒฝ์ฐ ๋๊ธ ๋ฐ์ดํฐ๊ฐ ์๋๊ฒฝ์ฐ user๊ฐ ๋๊ธ์ด ์๋์ง์ ์ฌ๋ถ๋ฅผ ๋ฐ๋ก ํ๋จํ ์ ์๊ฒ UI๋ฅผ ๊ตฌ์ฑํจ์ผ๋ก์ ๋๊ธ ์์ฑ์ ๋ํ ์ ๋๋ฅผ ํ์์ต๋๋ค.
- ๋๊ธ์ ๋ ฅ์๊ฐ ๊ธฐ์ค์ผ๋ก ๋ฐฉ๊ธ ์ , ...๋ถ ์ , ...์๊ฐ ์ , ...์ผ ์ , ...์ฃผ ์ , ...๊ฐ์ ์ , ...๋ ์ ์ผ๋ก ์ถ๋ ฅ๋ ์ ์๊ฒ ๊ตฌํํ์์ต๋๋ค.
- ๋๊ธ๋ฆฌ์คํธ์ ๊ฒฝ์ฐ data ๋ ๋๋ง ํจ์จ์ฑ์ ์ํด ๋ฌดํ์คํฌ๋กค๋ก ๊ตฌํํ์์ผ๋ฉฐ ๊ตฌํ์
Intersection Observer API
๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํ์์ต๋๋ค. - ๋๊ธ ์ญ์ ๊ธฐ๋ฅ์ ๊ฒฝ์ฐ ๋ณธ์ธ์ด ์ ๋ ฅํ ๋๊ธ์ ๋ํด์๋ง ์ญ์ ๋ฒํผ์ด ๋ ธ์ถ๋๊ฒ ๊ตฌํํ์์ต๋๋ค.
- ์บ ํ์ฅ์๋ฅผ ๊ณต์ ํ๋ ํญ๋ชฉ์ ์ถ๊ฐํ์ฌ user๋ค์ด ๋์ฑ ๋ค์ํ๊ฒ ์ํตํ ์ ์๊ฒ layout์ ๊ตฌ์ฑํ์์ต๋๋ค.
- ์บ ํ์ฅ์๋ ๋จ์ํ ๊ธ๋ก ์ํตํ๋๊ฒ์ด ์๋ user๊ฐ ๋์ฑ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์ดํดํ ์ ์๋๋ก
naver map api
๋ฅผ ์ด์ฉํ์ฌ ํด๋น ์์น๋ฅผ ํ์ธํ ์ ์๊ฒ ํ์์ต๋๋ค.
โ๏ธ์์
mypage.mov
โ๏ธ๊ตฌํ์ฌํญ
- ๋ก๊ทธ์ธํ user์ ์ ๋ณด๊ฐ ์ถ๋ ฅ๋๋๋ก ๊ตฌํํ์์ต๋๋ค.
- ์คํฌ๋ฉ, ์ข์์, ํฌ์คํ ๊ฒ์๋ฌผ์ ํญ๋ชฉ์ ๋ํด์๋ ์์๋ฐ์ดํฐ๋ก ์์ฑํ์์ต๋๋ค.
- ๊ฐ๊ฐ์ ๋ฆฌ์คํธ ํญ๋ชฉ์ layout์ด ๋ชจ๋ ๊ฐ๊ณ ๋ด์ฉ๋ง ๋ค๋ฅด๋ค๋์ ์ ์ด์ฉํด ์ปดํฌ๋ํธ ์ฌ์ฌ์ฉ์ ํ์ฉํ์ฌ ๊ตฌํํ์์ต๋๋ค.
- ์ปดํฌ๋ํธ ์ฌ์ฌ์ฉ์ ์ค์ฒฉ์ผํญ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํ์์ต๋๋ค.
- ๋ฆฌ์คํธ์ ํ์ถ๋๋ ํญ๋ชฉ๋ค์ ํด๋ฆญ์ ํด๋น ๊ฒ์๋ฌผ๋ก ์ด๋ํ ์ ์๊ฒ ๊ตฌํํ์์ต๋๋ค.
- ๋ฆฌ์คํธ์ ์ถ๋ ฅํ ๊ฒ์๋ฌผ๋ด์ฉ์ด ์์์ user๊ฐ ๊ฒ์๋ฌผ์ ์์ฑ ํน์ ์คํฌ๋ฉ์ ์ ๋ํ ์ ์๊ฒ UI๋ฅผ ๊ตฌ์ฑํ์์ต๋๋ค.
- ๋น ๋ฆฌ์คํธ์ ์์ด์ฝ์ ํด๋ฆญ์ ํด๋น ๋ด์ฉ๊ณผ ์ฐ๊ด๋ ํ์ด์ง๋ก ๊ฐ๊ฐ Link๋ฅผ ๊ฑธ์ด๋ user๊ฐ ์กฐ๊ธ ๋ ์ฝ๊ณ ์ ๊ทน์ ์ด๊ฒ ์ด์ฉํ ์ ์๊ฒ ๊ตฌ์ฑํ์์ต๋๋ค.