| ์ ์ ์๋ | ์ฌํ์ ํ๋ ์๊ฐ๋ฟ ์๋๋ผ! ๊ณผ์ ๊น์ง ๊ธฐ๋ก์ ๋จ๊ฒจ ๋ธ์ด๋ก๊ทธ๊ฐ์ ์๋น์ค๋ฅผ ๊ตฌํํ๊ณ ์ ํธ๋ฆฝ๋ก๊ทธ๋ผ๋ ์ด๋ฆ์ผ๋ก ์ ์ํ์์ต๋๋ค |
|---|---|
| ๊ฐ๋ฐ๊ธฐ๊ฐ | 2022๋ 10์ 19์ผ ~ 11์ 4์ผ |
| ํ๋ซํผ | Web |
| ๊ฐ๋ฐ ์ธ์ | ์ด 4๋ช (ํ๋ก ํธ์๋ 2๋ช , ๋ฐฑ์๋ 2๋ช ) |
| Page Link | http://13.125.234.1:3000/ |
| ํ๊ฒฝ | ์์ธ ์คํ |
|---|---|
์ธ์ด |
HTML, CSS, Javascript, Node.js, MongoDB |
ํ๋ ์์ํฌ & ๋ผ์ด๋ธ๋ฌ๋ฆฌ |
React, Redux, React Bootstrap, React-Calendar, styled-component |
๋ณด์กฐ ํ๋ก๊ทธ๋จ |
Illustration, Figma, AWS |
| @thals0 | @bokjunwoo | @lzns960 | @ddingyull |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Main Web View |
Sub Main List & Detail Mypage UI |
Category Content View Search View |
Category Content View Search View |
- ์ง๋๋ก ๋์ ์ ๋ณด๋ฉด์ ์ผ์๋ณ๋ก ์ฌํ๊ณํ์์ง๊ณ ์น๊ตฌ์๊ฒ ๊ณต์ ํ ์ ์๋ ๊ธฐ๋ฅ
- ์ฒดํฌ๋ฆฌ์คํธ, ๊ฐ๊ณ๋ถ์ฒ๋ผ ๋ถ๊ฐ์ ์ผ๋ก ์ผ์์์ ํ์ํ ๊ธฐ๋ฅ
- ๋ง๊ฐ๊ฐ ๋๋ ๋ง์์์ ๋ฐ์ดํฐ๋ฅผ ์ง์ญ์ ๋ฐ๋ผ ์ํ
๋ ์ ๋ณด๋ค์ ์ ๊ทผํ๋ ๊ธฐ๋ฅ
โข ๋ฐฑ์๋์์ ์ค๋ณต๊ฒ์ฌ๋ฅผ ํตํด ๊ฐ์ ์ด๋ฉ์ผ๋ก ์ค๋ณต ๊ฐ์ ๋ถ๊ฐ
โข ๋ก๊ทธ์ธ ์ ๋ณด๋ฅผ ๋ฏธ๋ฆฌ ๋ด์๋ฌ์ ๋ฐ๋ก ๋ก๊ทธ์ธ ๊ฐ๋ฅ
โข ๋ก๊ทธ์ธ์ ํ๋ฉด ๋ก๊ทธ์์ ํ๊ธฐ ์ ๊น์ง ๋ก๊ทธ์ธ ์ ๋ณด๋ฅผ ๋ฆฌ๋์ค์ ์ ์ฅํด์ ํ์ด์ง ์ด๋๋ง๋ค ๋ก๊ทธ์ธ ์ ๋ณด ๊ฐ์ ธ์ ์ฌ์ฉ ๊ฐ๋ฅ ์ด๋ฅผ ํตํด ๊ฐ ํ์ด์ง ๋ณ๋ก isLogin ํ์ธ ํ ์ ์๊ณ , ๋๋ค์ ์ ๋ณด ๋ฒก์ ๋ณด๋ด์ ํด๋น ์ ์ ์ ์ ๋ณด๋ง๋ค ๋ฐ์ ์ ์์
โข KakaoDveloper ์ฑ ์ ์ํ์ฌ ์นด์นด์ค ๋ก๊ทธ์ธ์ด ๊ฐ๋ฅํ๋๋ก ๊ตฌํ
[์๋ธ๋ฉ์ธ] ๊ฐ ์ง์ญ๋ณ ๋ฉ์ธ ํ์ด์ง ( ์ง์ญ ์์ด์ฝ ์ ํ์ ๋ฐ๋ผ ํด๋น ์ง์ญ์ ๋ฐ์ดํฐ๋ง ๋ณด์ฌ์ง)
โข ๊ฐ ์ง์ญ์ ๋ฉ์ธํ์ด์ง๋ก ์ ํฌ๊ฐ ์ถ์ฒํ๋ ์ฌํ์ง๋ค์ ์ถ์ฒ๋ฐ์ ์ ์๋๋ก ์ง์ญ์ฝ๋๋ฅผ ํตํด ๋ณ์๋ก ๋ฐ์ ๋ผ์ฐํ
๋ ์ ์๋๋ก ๊ตฌํ
โข ๋จ, ๊ฐ ์ง์ญ์ ์ด๋ฆ, ํน์ ์ด๋ฏธ์ง๊ฐ ๋ณด์ฌ์ง๋, ํ์ด์ง๊ฐ ๋ถ๋ฆฌ๋์ง ์๋๋ก ๋ฐฐ์ด์ ์ด์ฉํด ์ด๋ฏธ์ง๋ฅผ ๊ตฌํ
submain.mov
โข ์ฒซ๋ฒ์งธ ํด๋ฆญ๊ฐ๊ณผ ๋๋ฒ์งธํด๋ฆฝ๊ฐ, ๊ทธ๋ฆฌ๊ณ ๊ทธ ๊ธฐ๊ฐ์ ํ๋์ฉ ๋ฃ์ ๋ฐฐ์ด์ ํตํด ์ปดํฌ๋ํธ ๊ตฌํ
โข ๋๋ง์ ์ฌํ์ผ๊ธฐ์ฅ์ผ๋ก ๋๊ปด์ง ์ ์๋๋ก ์ ์ ์ ์ฌํ์ผ์๋ฅผ ํ๋ฉด์ ํ์ โข ์ฅ์์ถ๊ฐ ๋๋ ์๋ ํด๋น์ง์ญ์ ๋ํด ์ฌํ์ง๋ฅผ ๊ฒ์
- ์ง์ญ์ฝ๋๋ฅผ ํตํด ํด๋น ์ง์ญ์ api๋ฐ์ดํฐ๋ง ๊ฐ์ ธ์์ ํด๋น ์ง์ญ ์ฌํ์ง๋ฅผ ๋ณด์ฌ์ค
- ๋ฆฌ๋์์ ์ ์ฅํด๋์ ์ง๋์ขํ๋ฅผ ํตํด ์ขํ๊ฐ์ผ๋ก ๋ฐ๋ณต๋ฌธ์ผ๋ก ์ง๋๊ฐ ๋ณด์ฌ์ง๋๋ก ๊ตฌํ
- ์ด๋, ์ถํ์ ๋ ์ง๋ณ๋ก ๊ฐ๊ฐ ์ฌํ์ง๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํด ๋ฆฌ๋์์ "์ผ์๋ณ ์ปดํฌ๋ํธ์ idx๊ฐ, ์นด์นด์ค์ง๋์ idx๊ฐ" ์ ์ฅํ์ฌ ๋ฐ๋ณต๋ฌธ์ผ๋ก ์ปดํฌ๋ํธ๊ฐ์๋งํผ ๊ตฌํํ์์
- ํด๋ฆญํ ์ง์ญ์ ๋ฐ์ดํฐ๋ฅผ ๋ฆฌ๋์์ ๋ฐฐ์ด๋ก ๋ด์ ํ ์ถ๊ฐ๋๋ item์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์์ ๋ฃ์ด์ค๋๋ค ์ด๋, ์๊น ์ ์ฅํด๋์๋ ์ง๋ idx๋ํ ๋ฐ๋ก ์ ์ฅํด์ค์ ๊ฐ๊ฐ ์ขํ๊ฐ ๋ฐ๋ก ์ฐํ ์ ์๋๋ก ํ์์ต๋๋ค.
- ๊ณํ์ ์๋ฃํ์๋ค๋ฉด ์ ์ฅํ๊ธฐ ๋ฒํผ์ ํตํด ์ ์ฅ
- ์นด์นด์คํก์ผ๋ก๋ ๊ณต์ ๋ ํ ์ ์์
plan.mov
โข React useState ์ฌ์ฉํ์ฌ check์ฌ๋ถ ํ์ธ ํ mongnDB์ ์ ์ฅ
โข ์์ดํ ์ถ๊ฐํ๊ธฐ, ์ญ์ ํ๊ธฐ ๋ํ useState ํ์ฉํ์ฌ DB์ ์ ์ฅ
โข useEffect๋ฅผ ํ์ฉํ์ฌ ์ถ๊ฐ, ์ญ์ , ์ฒดํฌ์ ๋ฐ๋ก ์ฒดํฌ๋ฆฌ์คํธ์ ๋ฐ์๋๋๋ก ํจ (๋๋๋ง)
โข react bootstrap์ผ๋ก ui ๊ตฌํ
โข React-Calendar ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋ ์ง ์ ํ
โข ๋ด์ฉ, ๊ธ์ก ์
๋ ฅ ํ ๋ฑ๋ก์ ๊ฐ๊ณ๋ถ์ ๋ฑ๋ก ์๋ฃ
โข ์ ์ฐ ํ ์ธ์์ด ๋์ด๋๋ฉด ๋ช
๋น ๊ณ์ฐ ๊ธ์ก ๊ณ์ฐ
โข ๊ฐ๊ณ๋ถ ์ด๊ธฐํ ๊ฐ๋ฅ

โข ๊ฐ ์ง์ญ ๋ณ sorting ํ ์ง์ญ์์์๋ ๊ด๊ด, ๋ฌธํ, ์์, ์์, ์ผํ์ ์นดํ
๊ณ ๋ฆฌ๋ก ๋ค์ ํ ๋ฒ sorting (์ง์ญ์ฝ๋, ์นดํ
๊ณ ๋ฆฌ ์์ด๋๋ฅผ ๋ณ์๋ก ํ์ฉ)
โข useState, โขuseEffect๋ฅผ ํ์ฉํ ์ข์์ ๋ฐ ์กฐํ์ ๊ตฌํ
โข axios๋ฅผ ํ์ฉํ์ฌ ์๋ฒ์ ์ฐ๊ฒฐ
โข ๋ฆฌ๋ทฐ ์
๋ฐ์ดํธ๋ฅผ redux์ ์ ์ฅํ์ฌ ๋ฆฌ๋ทฐ๊ฐ ์์ฑ ํน์ ์ญ์ ๋ ๋๋ง๋ค ํ์ด์ง ์ฌ๋๋๋ง
โข Redux๋ฅผ ํ์ฉํ์ฌ ๋ก๊ทธ์ธ ํ์ธ ํ axios๋ฅผ ํตํด DB์์ ํด๋น ์ ์ ์ ๋ณด ๋ฐํ
โข ์ฌํ ์กฐํ, ๋๋ง์ ์ฒดํฌ๋ฆฌ์คํธ, ๊ฐ๊ณ๋ถ, ๋ด๊ฐ ์ด ๋ฆฌ๋ทฐ ๋ฑ ์กฐํ ๊ฐ๋ฅ
โข ์ฒดํฌ๋ฆฌ์คํธ, ๊ฐ๊ณ๋ถ๋ ์
๋ฐ์ดํธ ๊ฐ๋ฅ
โข ์ฌ๋๋๋ง ๋์ง ์๋๋ก ๊ธฐ๋ณธ์ ์ธ nav๋ ๊ณ ์ ํ๊ณ ๋ฐ์ดํฐ์ ๋ฐ๋ผ์๋ง ๋๋๋ ์ ์๋๋ก tab์ ํ์ฉํ์ฌ ๊ตฌํ







