[PROJECT] Nutti - Exchange diary made of react :
๋ฆฌ์กํธ๋ฅผ ์ด์ฉํ ๊ตํ์ผ๊ธฐ ์ฑ ์ผ๊ธฐ์ฅ ์ฑ ๊ตฌํ
- ํ์ : ๊ถ์ง๋ฏผ, ํ์ฌ์ (2์ธ)
- ๊ธฐ์กด ์ ์๋ ์ฑ์ ์ด๊ธฐ ๋ชฉํ์ธ ๊ตํ์ผ๊ธฐ๋ก ์ ์ ๋ฐ ๋ฐฐํฌ
- ์ด๊ธฐ ์์ ์ ๊ตํ์ผ๊ธฐ๋ฅผ ๋ชฉํ๋ก ์์ ์ ์์ํ์ผ๋, ๊ณํ์ ๋ฌ์ฑํ์ง ๋ชปํ์ฌ ์ผ๊ธฐ๋ก๋ง ๋ง๋ฌด๋ฆฌ๋ ์ ์ด ์์ฌ์ ๋ค. ์น๊ตฌ๋ค๊ณผ ๊ณต์ ํ๊ณ ํจ๊ป ์ธ ์ ์๋ ๊ตํ์ผ๊ธฐ๋ก ๋ค์ ์ ์ํ๊ณ ์ถ์ด ์์ํ์๋ค.
- ์น๊ตฌ๋ค๊ณผ ์ผ์์ ๊ณต์ ํ๋ฉฐ ๋๊ธ๋ก ์ํตํ ์ ์๋ ์ฑ์ ๊ตฌํ.
- react๋ฅผ ์ฌ์ฉํ ์ดํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ.
- ๋งํฌ ๊ณต์ ๋ฅผ ํตํ ๋งด๋ฒ ์ถ๊ฐ ๊ธฐ๋ฅ.
- ์นด์นด์คํก & ๊ตฌ๊ธ ๊ณ์ ๋ก๊ทธ์ธ ์ฐ๊ฒฐ.
- ํ๋ ์ด์คํ ์ด ์ฑ ๋ฐฐํฌ.
1) ํ๋ก์ ํธ ์ฌ์ค์
2) UI ๋ฆฌ๋์์ธ
- ์ฅ์์ ์๊ด์์ด ์ด๋์๋ ๋ชจ๋ฐ์ผ๋ก ์ฝ๊ฒ ์ผ์์ ๊ธฐ๋กํ ์ ์๋ ์ผ๊ธฐ์ฅ ๊ตฌํ.
์น๊ตฌ๋ค๊ณผ ์ผ๊ธฐ๋ฅผ ๊ธฐ๋กํ๊ณ ์๋ก์ ์ถ์ต์ ๊ณต์ .- ์ธ์ ์ด๋์๋ ์ฝ๊ฒ ์ผ์์ ๊ธฐ๋กํ๊ณ ๋ณด๊ดํ ์ ์๋ ์ผ๊ธฐ์ฅ.
- ๋๋ง์ ๊ธฐ๋กํ๊ณ ์ถ์ ์ฃผ์ ๋ณ ์ผ๊ธฐ์ฅ์ ์์ฑํ์ฌ ์ผ๊ธฐ๋ฅผ ์์ฑ.
์น๊ตฌ๋ค๊ณผ ํ๋ฃจ๋ฅผ ๊ณต์ ํ๋ฉฐ ์ํตํ ์ ์๋ ์ฑ์ ๊ตฌํ.- react๋ฅผ ์ฌ์ฉํ ์ฌ์ฉ์ ๋ฐ์ดํฐ ๊ด๋ฆฌ์ ์ํํ ์ฐ๊ฒฐ ๊ตฌํ.
- ๋ฐฑ์ค๋๋ฅผ ์ด์ฉํ ํ์๊ฐ์ , ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ์์ฑ.
- ํ๋ก์ ํธ์ ๋๋ถ์ด ํ์๋ค์ ์ง์ ๊ฐ๋ฅํ ๋๊ธฐ๋ถ์ฌ๋ก ์ฑ๊ณต ๊ฐ๋ฅ์ฑ์ ๋์.
1) ํ๋ก์ ํธ ์ ์
2) ์๊ตฌ์ฌํญ ๋ถ์ ๋ฐ ๊ณตํต ๊ฐ์ด๋๋ผ์ธ ์์ฑ
3) ๋ฐ์ดํฐ ๋ฒ ์ด์ค ๋ชจ๋ธ ์ ์
4) React ์ฑ ์์ฑ
5) UI ๋์์ธ
6) ๋ฐ์ดํฐ ๋ฒ ์ด์ค ์์ ๋ฐ ์ค๋ฅ ์์ ์์
7) ๋ฐฐํฌ ํ ๋ฐํ & ๋ณด๊ณ ์ ์์ฑ
1) FRONTEND
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ/ํ๋ ์์ํฌ: React
- ๊ธฐํ ๋๊ตฌ: react-router-DOM
- ์ธ์ด: JavaScript / CSS(module.css)
2) BACKEND
- ๋ฐํ์ํ๊ฒฝ: Node.js
- ํ๋ ์์ํฌ: Express
- Express ๋ฏธ๋ค ์จ์ด: express-session
- ๊ธฐํ ๋๊ตฌ: nodemon, mongoose, cors, axios, sha256 ์ด์ฉํ ๋น๋ฐ๋ฒํธ ํด์ฑ
- Database: mongoDB
- ๋ฐฐํฌ: cloudtype
3) ์ฌ์ฉ ํ๋ก๊ทธ๋จ
- git / GitHub
- GitHub pages
- figma
- Procreate
- Notion
1) ์ญํ ๋ถ๋ด
์ญํ | ์ด๋ฆ | ๋ด๋น |
---|---|---|
๋ฆฌ๋ | ํ์ฌ์ | ์์ ๊ธฐ๋ก |
ํ์ | ๊น์ ์ | ์ผ๋ฌ์คํธ ์์ |
ํ์ | ํ์์ธ | ๋ฐํ |
2) ์์ ๋ถ๋ด
์ด๋ฆ | ๋ด๋น ์์ ํํธ |
---|---|
ํ์ฌ์ | Month / DailyDiary |
๊น์ ์ | Postiong / viewPost |
ํ์์ธ | Home / Loading / Join |
1) ๊ธฐ๋ฅ์ ์๊ตฌ์ฌํญ
๊ธฐ๋ฅ | ๊ธฐ๋ฅ ์์ธ ์ค๋ช |
---|---|
์ฒซํ์ด์ง (Home) | ๋ก๋ฉ ํ์ด์ง ์ดํ ๋ก๊ณ ์ด๋ฏธ์ง |
ํ์๊ฐ์ / ๋ก๊ทธ์ธ ํ์ด์ง๋ก ์ด๋ | |
ํ์๊ฐ์ / ๋ก๊ทธ์ธ (Join / Login) | ํ๋กํ ์ ํ / ์์ด๋(๋๋ค์) / ๋น๋ฐ๋ฒํธ / ์ด๋ฉ์ผ ์ ๋ ฅ |
๊ฐ์ ์๋ฃ ํ ์ฒซํ์ด์ง ์ด๋ | |
์ผ๊ธฐ์ฅ (Month) | ์ฌ์ฉ์ ์ค์ ์ผ๊ธฐ์ฅ ์ถ๊ฐ |
์ผ๊ธฐ ์ถ๊ฐ (DailyDiary) | ์ผ๊ธฐ ๋ฆฌ์คํธ, ์๋ก์ด ์ผ๊ธฐ ์ถ๊ฐ |
์ผ๊ธฐ ์์ฑ (Postiong) | ๋ ์ง, ์ ๋ชฉ, ๋ด์ฉ ์ ๋ ฅ |
์์ฑํ ์ผ๊ธฐ ๋ณด๊ธฐ (viewPost) | ์์ฑํ ์ผ๊ธฐ ๋ด์ฉ ํ์ธ, ์์ ๋ฐ ์ญ์ |
2) ๋น๊ธฐ๋ฅ์ ์๊ตฌ์ฌํญ
๊ธฐ๋ฅ | ๊ธฐ๋ฅ ์์ธ ์ค๋ช |
---|---|
์ผ๋ฌ์คํธ๋ฅผ ํ์ฉํ ํ๋กํ ์์ | ์ ์ฒด์ ์ธ ๋์์ธ์ ์ด์ธ๋ฆฌ๋ ๋๋ฌผ ์ผ๋ฌ์คํธ๋ฅผ ํ๋กํ ์ฌ์ง์ผ๋ก ์ด์ฉํ์ฌ ์ฌ์ฉ์์ ์ฌ๋ฏธ์ ํฅ๋ฏธ๋ฅผ ์ ๋ฐ |
๊น๋ํ ๋ ์ด์์ | ์ง๊ด์ ์ผ๋ก ์์๋ณผ ์ ์๋ ๋ ์ด์์ ์์ด์ฝ์ผ๋ก ๊ตฌ์ฑํ์ฌ ๋์ ํธ์์ฑ ์๊ตฌ |
์์ฐ์ค๋ฌ์ด ์ฑ ์ฌ์ฉ ํ๋ฆ | ์ฑ์ด ๋ค์ ํ์ด์ง๋ก ๋์ด๊ฐ๋ ๊ฒฝ์ฐ ์์๊ฐ ์ด์ํ์ง ์๊ฒ ๋ค์ ๋์์ด ์งํ๋๋๋ก ํ์ด์ง ๊ตฌ์ฑ |
1) ๋์์ธ ์ปจ์
- ๊ท์ฌ์ด / ๊น๋ํ / ๋ค์ด์ด๋ฆฌ
2) ๋ฉ์ธ/์๋ธ ์ปฌ๋ฌ ์ ์
3) ์ผ๊ธฐ์ฅ/ํ๋กํ ์บ๋ฆญํฐ ์ผ๋ฌ์คํธ
- ์ผ๊ธฐ์ฅ
- ํ๋กํ ์บ๋ฆญํฐ(์ด 19๋ง๋ฆฌ ๋๋ฌผ ํ๋กํ)
1) ๊ธฐ๋ฅ์ ์ค๋ฅ
- ์ปดํฌ๋ํธ ์ํ ๊ฐ ๊ด๋ฆฌ
- useState์ฌ์ฉ: ์ปดํฌ๋ํธ ๋ฒ์ด๋๋ฉด ๋ฐ์ดํฐ ์ฌ๋ผ์ง
- redux์ฌ์ฉ: ์๋ก๊ณ ์นจ ์ ๋ฐ์ดํฐ ์ฌ๋ผ์ง
- local ragistry์ฌ์ฉ: ํด๋น ์๋ฒ์์๋ง ๋ฐ์ดํฐ ์ ์ง๋จ, ๋ชจ๋ ์ ๋ ฅ ๊ฐ๋ค์ด ์ฐ๋๋์ด ์ถ๋ ฅ๋จ
- MongoDB์ฌ์ฉ: ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ฅผ mongodb๋ก ๋ณ๊ฒฝํ์ฌ ์์ ์ ์ด๊ณ ์์ํ ๋ฐ์ดํฐ ๊ด๋ฆฌ
- ๋ค๋ก๊ฐ๊ธฐ ๋ฒํผ ์คํ ์๋จ
- navigate๊ฒฝ๋ก โ-1โ์ ๋ฌธ์์ด๋ก ์์ฑํด ์๋ํ์ง ์์ ๊ฒ์ ํ์ธํ๊ณ ์ซ์๋ก ์์
- ์ผ๊ธฐ์ฅ ์ถ๊ฐ ์ โ๊ธฐ์กด ์ผ๊ธฐ์ฅ ๋ชฉ๋ก + ์๋ก ์ถ๊ฐํ ์ผ๊ธฐ์ฅโ์ด ๋ฐ๋ณตํด์ ์๊ฒจ๋จ
- map์ด ์๋ ๋ค๋ฅธ ๊ฐ์ด ํ์ํ ๊ฒ์ผ๋ก ๋ณด์ฌ์ ธ ul์์ ์๋ monthItem์ ul โ div๋ก ๋ณ๊ฒฝ, key๊ฐ์ ์ค์
- ์ผ๊ธฐ ์์ ์ญ์ ๊ธฐ๋ฅ์ ์๋ฒฝํ๊ฒ ์์ฑํ์ง ๋ชปํจ
- ์ ํํ ์์ธ์ ํ์ ํ ๊ธฐ๋ฅ ์์ฑํ ๊ฒ
2) ๋น๊ธฐ๋ฅ์ ์ค๋ฅ: ๋์์ธ ์ปจ์ ๋ถ๋ถ๋ช
โ ์ด๊ธฐ ๋์์ธ
- ๋ฎ์ ์ฑ๋๋ก ๋ฌด๊ฑฐ์ด ๋๋
- ๊ท์ฌ์ด ์ผ๋ฌ์คํธ์ ๋ฐ๋๋ก ์๊ฐ์ด ๋ง์ง ์์ ์ปจ์ ์ด ๋ช ํํ์ง ์์
- ์กฐ๊ธ ์ฌ๋ํ ๋๋์ ๋ ์ด์์ ์คํ์ผ
โก ๋ณ๊ฒฝ
- ์ปฌ๋ฌ๊ฐ์ ๋ํ ํผ๋๋ฐฑ์ผ๋ก ๋คํฌ๋ชจ๋์ ์ด์ ์ผ๋ก ๋ณ๊ฒฝ
- ์ ์ฒด ์์์ ํ๋ฐฑ ๋ชจ๋ ธํค์ผ๋ก ๋ณ๊ฒฝ
- ๊น๋ํ์ง๋ง ์ปด๋ฌ๊ฐ์ด ๋ถ์กฑํ์ฌ ์ฌ์ฌํจ
- ์ด๊ธฐ ์ปจ์ ์ ๊ท์ฌ์ด ๋๋์ด ์ฌ๋ผ์ง
โข ์ต์ข
- ์ ๋ฐ์ ์ธ ๋์์ธ์ ์์ ์ฑ๋๋ฅผ ๋์ฌ ์ปฌ๋ฌ ์ฌ์ค์
- ์ด๊ธฐ ์ปจ์ ์ ๊ท์ฌ์ด ๋๋์ ์ด๋ฆผ
- ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ์ฐ๊ฒฐ์ ํด๊ฒฐํ์ง ๋ชปํจ.
- ์ด๊ธฐ ๋ชฉํ์ธ ์น๊ตฌ๋ค๊ณผ์ ๊ตํ ์ผ๊ธฐ์ฅ์ผ๋ก ์์ฑํ์ง ๋ชปํจ.
- ๊ตํ์ผ๊ธฐ์ฅ์ ๋ฐํ์ผ๋ก ์ผ๊ธฐ์ฅ ์ฑ์ผ๋ก ๋ณ๊ฒฝํ๋ ๊ณผ์ ์์ ๋ฐ์ดํฐ ๊ด๋ฆฌ ๋ถ๋ถ์ ์์ฌ์.
- mongoDB๋ก ๋ฐ์ดํฐ ์ด๋ ํ ์ผ๊ธฐ ์ถ๊ฐ, ์์ ๋ฐ ์ญ์ ๊ฐ ์ํํ๊ฒ ์ด๋ฃจ์ด์ง์ง ์์.
- ์์ ์์ ๋ฐฐ์ด ๋ชจ๋ ๋ฐ์ดํฐ ๊ด๋ฆฌ ๋ฐฉ๋ฒ์ ๋ฐํ์ผ๋ก ๊ณ์ ์์ .
- ์ฌ๋ฌ๋ฒ์ ์์ ์ผ๋ก ํด๊ฒฐ ๊ณผ์ ์ ๊ธธ์์ง๋ง, ๋ฐฐ์ด ๋ด์ฉ์ ๋ค์ ๋ณต์ตํ ์ ์๋ ๊ธฐํ์์.
- ๊ฐ์ ๋งก์ ํํธ๋ฟ ์๋๋ผ ๋ค๋ฅธ ํ์์ ํํธ๋ ์๋ก ์๋ํด๋ณด๋ฉฐ ์์ .
- ์ด์ฐฝ๊ธฐ ๋ชฉํ๋ ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ์ ์ํตํ๋ ๊ตํ ์ผ๊ธฐ์ฅ์ด์์ผ๋, ์์ฑํ์ง ๋ชปํ ์์ฌ์์ด ์๋ค. ์์ ์์ database๋ฅผ ์ด์ฉํด ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํด์ ์์ ํ๋ ๋ถ๋ถ์์ ์์ง์ ๋ถ์กฑํ ๋ถ๋ถ์ด ์๋ค๋ ๊ฒ์ ๋๊ผ๋ค. ๊ทธ๋๋ ์์ ์ ์งํํ๋ฉฐ ์์ ์๊ฐ์ ๋ฐฐ์ด ๋ชจ๋ ๋ฐ์ดํฐ ๊ด๋ฆฌ ๋ฐฉ๋ฒ์ ์ด๋์ํ์ฌ ํด๊ฒฐํ๋ ค๊ณ ๋ ธ๋ ฅํ์๋ค. useState๋ฅผ ์์์ผ๋ก redux, local ragistry, MongoDB๊น์ง ์์ ์ ์ธ ๋ฐ์ดํฐ ๊ด๋ฆฌ์ ํ์ผ๋ค.
- ํ์์ ์ ์งํํ๋ฉด์ ์์ ์๊ฐ ์ด์ธ์๋ ์๋ก ์ฐ๋ฝ์ด ์ ๋์ง ์์ ์งํ์ฌํญ์ ๋ํด ๋น ๋ฅด๊ณ ์ ํํ ์ํต์ ํ๊ธฐ๊ฐ ์ด๋ ค์ ๋ค. ํ์ง๋ง ํ์ ๋ชจ๋๊ฐ ๊ฐ์ ๋งก์ ๋ถ๋ถ์ด ์๋๋ผ๋ ์๋ก์ ํํธ๊ฐ ํด๊ฒฐ๋ ์ ์๋๋ก ๊ฐ์ด ๋์ฐ๋ฉฐ ์์ ์ ์งํํด์ ๋ง์ ๋์์ด ๋์๋ค.
ํ๋ก์ ํธ ํ์๋ผ์ธ ์ ๋ฆฌ [์ ๊ธฐ/ํผ์น๊ธฐ]
- ์นดํ์ url ์๋ฃ ์ ๋ก๋
- ์๋ฃ๋ณด๊ณ ์ ์์ฑ ํ ๊ฒ(๊ธ์์ผ)
- ํ๋ก์ ํธ ์๋ฃ๋ ํ์์ผ ์ ๊น์ง ์์ ๋ณด์ ํ์ ๋ผ
- url๋ก ์ด์์ ๋ ๋ฌธ์ ๊ฐ ๋๋ ๋ถ๋ถ ๋ชจ๋ ์์ โฆ
-
์น๊ตฌ ์ด๋ ๊ธฐ๋ฅ ์์
-
ํ๋กํ ์ด๋ฏธ์ง ์ ํ ๊ฐ๋ฅ
-
mongoDB ์ฐ๊ฒฐ (์ผ๊ธฐ์ฅ, ์ผ๊ธฐ, ๋๊ธ)
-
์์ , ์ญ์ ๊ธฐ๋ฅ ์์ฑ
-
์ผ๊ธฐ ์์ฑ์ ์์ฑ๋์ง ์์ ๋ถ๋ถ์ด ์์ผ๋ฉด ์๋์ฐฝ ๋จ๊ฒ
-
ํ๋จ ๋ฉ๋ด ๋ฐ ์ถ๊ฐ
-
๋๋ค๋ ๋ค :๊ตํ์ผ๊ธฐ app
- ํ์๊ฐ์ ํ ๋ ์์ด๋์ ๋น๋ฐ๋ฒํธ ์ค์ ๋ก ๊ตฌํ๋๋์ง
- ์ผ๊ธฐ์ ๋๊ธ์ฐ๋๊ธฐ๋ฅ์ ์ฌ์ฉ์๋ ์ต๋ช ์ธ์ง
- ๋๋ฌผ์ผ๊ตด์ด ๋ฐ๋๋๊ฑด ์๋ํ๊ฑด์ง
- ๊ณต์ ์ผ๊ธฐ์ฅ์ธ๋ฐ ์ํตํ๋ ๋ฐฉ์์ด ์ ํํ ์ด๋ป๊ฒ ๋๋๊ฑด์ง
- ๋ฉ๋ด๋ฐ๋ ์๋ง๋ค๊ณ ๋ค๋ก๊ฐ๊ธฐ๋ง ํ๊ฑด์ง
- ํ์๊ฐ์ ํ ๋ ์ด์ฉ์ฝ๊ด ๋ด์ฉ์ ์๋๋ฐ ์ฒดํฌํ๋๊ฑด ์ ์ํ๋์ง
๊ธฐ๋ฅ์ ๋๋ ์ ์ค๋ช ํ๊ฑด ์ข์ ์ ์ผ ํฐ ๋ฌธ์ ์ฌํญ ์ค๋ ๋ฐฐ์ด๊ฑฐ๋ก ์์ ํ์ธ์ ใ ใ ๊ตํ์ผ๊ธฐ ์ฑ์ธ๋ฐ ๊ธฐ๋ฅ์ด ๋ง์ด ๋ถ์กฑํ๋ค โ ํ๋ก์ ํธ ์ฃผ์ ๋ฅผ ๊ตฌํํ ๋ด์ฉ๊ณผ ์ด์ธ๋ฆฌ๊ฒ ๋ณ๊ฒฝํ๋ ๊ฒ ์ข์๋ฏ ๋ญ๊ฐ ์ถ๊ฐ์ ์ผ๋ก??โฆํ์์ข๊ฒ ๋ค.. ํ์ จ๋๋ฐ ๋ชป๋ค์ UI ์ ์ผ๋ก ๋ถ์กฑํจ ์๋ฌด๋ฐ ๊ธ์ด ์์ผ๋ฉด ๋ฐ๋ก ๊ธ์ ์ด๋ค๊ฑฐ๋ ํ๋ฆ์ด ์์ฐ์ค๋ฝ์ง ์๋ค.
- ๊ฐ์ธ ์ผ๊ธฐ์ฅ์ผ๋ก 1์ฐจ ์์ฑ
- ๋ชฝ๊ณ DB ์ด์ฉ: ์ผ๊ธฐ์ฅ, ์ผ๊ธฐ ๋ฆฌ์คํธ, ์ฌ์ฉ์ ๋ฐ์ดํฐ ๊ด๋ฆฌ
- ์ฌ์ฉ์ ํ๋กํ ์ด๋ฏธ์ง ์ ํ ๊ฐ๋ฅํ๋๋ก ๊ตฌํ
- ์ผ๊ธฐ ์์ , ์ญ์ ๊ธฐ๋ฅ ์์ฑ
- ํ๋จ ๋ฉ๋ด๋ฐ ์ถ๊ฐํ์ฌ ์ํํ ์ด๋ ๊ฐ๋ฅํ๋๋ก ๊ตฌํ
- ์ํฌํ๋ก์ฐ ์์ ํด์ UI๋์์ธ
- ๋ก๊ทธ์ธ/ํ์๊ฐ์
- ์ผ๊ธฐ์ฅ
- ์ผ๋ณ์ผ๊ธฐ
- ์ผ๊ธฐ ์์ฑ
- ์ผ๊ธฐ ๋ณด๊ธฐ
- ๊ตํ ์ผ๊ธฐ์ฅ์ผ๋ก ์์ฑ
- ์ฌ์ฉ์ ์ด๋ํด์ ๋๊ธ ์์ฑ์ด ๊ฐ๋ฅํ๋๋ก ๊ตฌํ
- mongoDB๋ก ๋ฐ์ดํฐ ๊ด๋ฆฌ ๋ณ๊ฒฝ
- ๋ก๊ทธ์ธ
- ํ์๊ฐ์
- ์ผ๊ธฐ์ฅ
- ์ผ๊ธฐ ์์ / ์ญ์
- ๋๊ธ ์์ / ์ญ์
- ํผํผํฐ ์ ์
- ๋๋ณธ ์์ฑ
- ํ๋จ ๋ชจ๋ฌ์ฐฝ์์ 3์ ๋ฐ์ ์์ ์ฐฝ์ผ๋ก ๋ณ๊ฒฝ
- ๋ฒํผ์ ๊ธ์๋ก ์ ๋ ฅ
- ๋๊ธ, ๋๊ธ์ญ์ ๋ฒํผ ์์ด์ฝ ์ ์
- ๋ค๋ฅธ ๋ฒํผ์ ๊ธ์๋ก ์ ๋ ฅํด์ ์์ ํ๊ธฐ๋ก
- ๋ค๋ก๊ฐ๊ธฐ ๋ฒํผ ์คํ ์ ๋จ : -1 ๋ฌธ์์ด๋ก ์์ฑํด์ ์๋ ์๋จ - ๋ฌธ์์ด ๋นผ์ฃผ๋(?)์๋
- ์ผ๊ธฐ ์ ๋ชฉ๋ก ์ถ๊ฐ ์ ๊ธฐ์กด ๋ฆฌ์คํธ + ์๋ก์ด ๋ชฉ๋ก์ด ๋ฐ๋ณตํด์ ์๊ฒจ๋จ(map์ด ์๋ ๋ค๋ฅธ ์ฝ๋๊ฐ ํ์ํ ๊ฒ ์ผ๋ก ๋ณด์ฌ์ง)โ ul ์์ ์๋ monthItem์ ul์์ด ์์ฑ, key๊ฐ idx๋ก ์ค์
- ์์ธ
-
๋ก๊ทธ์ธ ๋ก๊ทธ์์ ์ฐ๊ฒฐ (๋ชฝ๊ณ ๋๋น ๋ฐฐ์ฐ๊ณ ํด๊ฒฐํ๊ธฐ) - ์ผ๊ธฐ์ฅ์์ ์ผ๊ธฐ์ฅ ์ญ์ ๋ฒํผ ์ถ๊ฐ
-
- ์ฌ์
- ์ผ๊ธฐ ๋ฆฌ์คํธ ์ ์งํ ์ ์๋๋ก ๋ ์ง์คํธ๋ฆฌ๋ก ์์
- ์ผ๊ธฐ ์์ฑ ํ ๋ค๋ก๊ฐ๊ธฐ ๋ฒํผ ๋๋ฅด๋ฉด โ/:monthParamโ๋์ค๊ณ ์์ด์ ์ผ๊ธฐ์ฅ ์ด๋ฆ์ด ์ ๋๋ก ๋์ค๋๋ก ๊ฒฝ๋ก ์์
- ์ ์
- ์ผ๊ธฐ ์์ , ์ญ์ ๋ฒํผ ์๋
- ์ปฌ๋ฌ ์ผ๋ฌ์คํธ๋ก CSS ์์
- ๋ณ๊ฒฝํ ๋์์ธ ์ปจ์ ์ผ๋ก css ์์
- ๊ฐ์ ํ์ด์ง ์์
- ๋ก๊ทธ์ธ/ํ์๊ฐ์ ๊ธฐ๋ฅ ๊ตฌํ
- ํ์๊ฐ์ ํ ๋ก๊ทธ์ธ ํ์ด์ง๋ก ๋์ด๊ฐ๊ฒ
- ๋ก๊ทธ์์ ํ์ด์ง โํ์ํฉ๋๋ค ๋โ ๋ฌธ๊ตฌ ์์ (?) - ex) ๋ก๊ทธ์์ํ์๊ฒ ์ต๋๊น?
- ์ ์ฒด body width๊ฐ ๋ชจ๋ฐ์ผ ์ฌ์ด์ฆ๋ก ๊ณ ์ ํ ์์
- ๋๊ธ, view post ๋ชจ๋ฌ์ฐฝ ์์ , ์ญ์ ๋ฒํผ ์์ด์ฝ ์ ํ๊ธฐ
- ๋๊ธ, ์ผ๊ธฐ์ฐ๊ธฐ ํ์ด์ง์์ ํค๋ ๋ค๋ก๊ฐ๊ธฐ ๋ฒํผ ์๋์ํจ
- ๋ด์ฉ์ด ์์ฑ๋์ง ์์์ ๋ ์๋๋จ๊ฒ
- ๊ธฐ๋ฅ ์์ฑ ์ ๋ : 70%๋จ
- ๋ชจ๋ฐ์ผ width์ฌ์ด์ฆ๋ก ๊ณ ์ ํด์ ์์
- ๋ค์์ฃผ ๋ชฝ๊ณ DB ๋ฐฐ์ด ํ ๋ก๊ทธ์ธ, ๋ฐ์ดํฐ ์ ์ฅ ์์ ์งํ
- ๋์์ธ ์ปจ์ ์ด ๋ช ํํ์ง ์์.
- ์ ์ฒด์ ์ผ๋ก ์์ ํ ์์ด์ฝ์ด๋ ๋ฒํผ, ํ ์คํธ ๋ฐ์ค ๋ฑ ์์ฆ ์คํ์ผ๊ณผ ๋ง์ด ๋ฉ๋ค.
- ์ฐธ๊ณ ํ ์ฑ ๋์์ธ ๋ณด๊ณ ์กฐ๊ธ ๋ ์ฐ๊ตฌ ํ์.
- ์์ญ๋ง๋ค ๊ตฌ๋ถ์ด ๋ช ํํ์ง ์์์ ๋ณด๊ธฐ ํ๋ค๋ค.
- ์ ์ฑ๋๋ฅผ ๋์ผ ๊ฒ. ์ด๋ก๊ณ ์น์นํจโฆ ๋ฐ์ ์๊ฐ์ผ๋ก ์์ ์ด ํ์ํ ๊ฒ ๊ฐ๋ค.
- ์ฌ์ ํ ์ฑ๋๊ฐ ๋๋ฌด ๋ฎ๋ค.
- ์์ญ์ด ๋ ํ์คํ ๊ตฌ๋ถ์ด ๋๋ฉด ์ข๊ฒ ๋ค. (ํนํ ๋ฒํผ)
- ์ฐจ๋ผ๋ฆฌ ๋คํฌ๋ชจ๋๋ก ๊ฐ๊ฑฐ๋ ์์ ๋ฐ๊ฒ ๊ฐ๋๊ฒ ์ข์๊ฒ๊ฐ๋ค
- ํ์ฌ๊น์ง ์์ ์ค ๋ ์งํํด์ผ ํ ๋ถ๋ถ
- ํ์ฌ์
- ํ์ ์ปดํฌ๋ํธ๋ก ํ๋กฌํฌํธ ์ ๋ฌํ์ฌ ๋ฆฌ์คํธ ์ ์งํ๊ธฐ
- ์ ์ผ๊ธฐ์ฅ ์์ฑ ์ ๋ค์ด์ด๋ฆฌ ์ผ๋ฌ์คํธ ๋์ค๊ฒ ํ๊ธฐ
- ์ผ๊ธฐ ๋ชฉ๋ก ์ปดํฌ๋ํธ๊ฐ ํ์ฌ ๋๊ฐ๋ก ๋ณด์ฌ์ ํ๋๋ก ์ ๋ฆฌํ๊ธฐ
- ํ์์ธ
- Comment ํ์ด์ง ๊ตฌ์กฐ ๋ค์ ์ง๊ธฐ (๋๊ธ ์์ฑํ๊ณ ๋ฒํผ์ ๋๋ฅด๋ฉด ๋ฆฌ์คํธ ์ฒ๋ผ ๋์์ผ ํ๋๋ฐ ์๋์ด)
- Loading, Home ํ์ด์ง ์ด๋ฏธ์ง ๋ก๊ณ ๊ฐ์ด๋ฐ ๋ง์ถ๊ธฐ
- ๊น์ ์
- ์ผ๊ธฐ ์ญ์ , ์์ ๊ธฐ๋ฅ ์ถ๊ฐ
- ์ผ๋ฌ์คํธ ํ๋ฐฑ์ผ๋ก ์์
- ์ผ๊ธฐ ๋ชฉ๋ก์์ ์ ๋ชฉ, ๋ด์ฉ์ด ๋ง์์ง๋ฉด ์ค์ํ(โฆ)๋ก ํ์๋๊ฒ
- ์ผ๊ธฐ ๋ณด๊ธฐ์์ ์ค๋ฐ๊ฟ ํ์๋๊ฒ
- ํค๋ ์ปดํฌ๋ํธ๋ณ๋ก ๋ด์ฉ์ด ๋ณ๊ฒฝ๋๊ฒ
- ํค๋์ ์ด์ ๋ฒํผ ํ์ฑํ
- ์ง๊ธ๊น์ง ์์ ํ ๊ฐ๋ณ ์์ ํํ์ผ๋ก ํฉ์ณ์ ํ์ธ.
- ํ์ฌ์
- ์ปดํผ๋ํธ ์ด๋ ํ ๋์์์ ๋ ์์ฑ๋ list data๊ฐ ๋ ๋ผ๊ฐ.
- useState โ redux๋ก ๋ณ๊ฒฝํ์ฌ ์ํ์ ์ญ์ผ๋ก ์์ ํ๋ ค ํ์ผ๋, map์ ๋๋ฆฌ๋๋ฐ ๋ฌธ์ ๊ฐ ์๊น. โ ์ ์๋ help
- useState๋ฅผ ์ฌ์ฉํด๋ ๋ฌธ์ ์์.
- props๊ฐ ์ ๋๋ก ์ ๋ฌ์ด ์๋์ ๊ทธ๋ฐ ๊ฒ ๊ฐ๋ค๊ณ ํ์ ์ ์์ ํ์.
- redux๋ณด๋ค๋ redux toolkit ์ถ์ฒ.
- ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋์ด์ผํ๋ ๋ถ๋ถ์ด๋ผ ๋์ค์ ๋ชฝ๊ณ ๋๋น๊ฐ ํ์ํ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค๊ณ ํ์ฌ.
- ์ถ๊ฐ ์์ ์ฌํญ
- ๋ค์ด์ด๋ฆฌ ์ผ๋ฌ์คํธ ๋ฆฌ์คํธ ๋ณด์ด๊ฒ ์์ ํ๊ธฐ
- ๋์์ธ css ์์
- ํ์์ธ
- ๋๊ธ ํ์ด์ง์์ ๋๊ธ์ ๋ฌ๊ณ ๋ฒํผ์ ๋๋ฅด๋ฉด ํ์์๋ ๋ก๋ฉํ๋ฉด์ด ๋์ด.
- ๋ก๋ฉํ์ด์ง๊ฐ ๋ณด์ด๊ฒ ํ๋ ๊ธฐ๋ฅ์ App.js์ ์ฐ๊ฒฐํด์ ๊ทธ๋ฐ๊ฑฐ๊ฐ๋ค๊ณ ํ์ฌ
- ๋ก๋ฉํ์ด์ง ๋์ค๊ฒ ํ๋๊ธฐ๋ฅ์ ๋งจ ์ฒ์์๋ง ๋ณด์ด๊ฒ ํ ๋ ค๋ฉด Home์ ์ฃผ๋๋ฐฉ๋ฒ๋ ์๋ค๊ณ ํ์ฌ
- ๋ก๋ฉํ์ด์ง๊ฐ ๋์ค๋ ๊ธฐ๋ฅ์ App.js์ ๋๊ฑธ Home.js์ ๋์ด Home์ผ๋ก ๊ฐ๋๋ง ๋ณด์ด๊ณ ๋ค๋ฅธ ํ์ด์ง์์๋ ์๋ณด์ด๊ฒ ํด๊ฒฐํจ.
- MonthDiary์ปดํฌ๋ํธ์์ ์๋ก ์๊ธด ์ผ๊ธฐ์ฅ ๋ง๋ค ์๋ ์ญ์ ๋ฒํผ์ด ์์ด ๋ชจ๋ฌ์ฐฝ ๋ง๋ค์ด ๊ตฌํํ๋ ค ํ์ง๋ง ํด๊ฒฐ์ด ์๋์ ์ฒ์๋ถํฐ ๋ฆฌ์คํธ๋ง๋ค ์ญ์ ๋ฒํผ์ ๋ฃ์ด์ ๋ฒํผ์ ํฌ๊ธฐ๋ฅผ ์๊ฒ ๋ง๋ค์ด ๋์๋์ง ์๊ฒ css์์ ์ด์ฉํด์ ์์ ํด์ผํจ.
- ์์ ์์์ GitHub ํ์ผ๋ก ์ด๊ธฐ ์ธํ
- ๊ฐ์ ๋ด๋น ์ปดํฌ๋ํธ ๋ถ๋ด ํ, ๋ก์ปฌ๋ก ์์ ์งํ. (์ถํ ํฉ์น๊ธฐ๋ก)
- ์ํฌํ๋ก์ฐ ๊ธฐ์ค์ผ๋ก ์์ฑ
- 1์ฐจ์ ๊ฐ์ฅ์ค์ํ ๋ถ๋ถ๋ง ๋๋ ํ ๋ฆฌ ์ค๊ณ
- ์ปดํฌ๋ํธ ๋ณ๋ก ์กฐ๋ฆฝ
- ๋ฉ์ธ๊ธฐ๋ฅ -> ์๋ธ๊ธฐ๋ฅ ์์ผ๋ก ๊ตฌ์กฐ์ค๊ณ
- ํฐ ๋จ์ / ์์ ๋จ์๋ก ๋ถ๋ฅ
- ํฐ ๋จ์์ ์์ ์ปดํฌ๋ํธ๋ 'pages' ๋๋ 'layouts'์ผ๋ก ์ ๋ฆฌ
- ์์ ๋จ์์ ์กฐ๊ฐ ์ปดํฌ๋ํธ๋ 'componenets' ๋๋ ํ ๋ฆฌ๋ก ๋ถ๋ฆฌ
- assats ํด๋์ css๋ฅผ ๋ฐ๋ก ์ ๋ฆฌํ๊ธฐ ๋ณด๋ค ์ปดํฌ๋ํธ ๋ณ๋ก ์ ๋ฆฌํ์ฌ ์ฌ์ฉํ๋ ๊ฒ์ ์ถ์ฒ.
- css๋ฅผ ๋ฐ๋ก ํด๋๋ฅผ ๋ง๋ค์ด ์ ๋ฆฌํ ๊ฒฝ์ฐ ์ฌ์ฉ์ด ๋ถํธํ ์ ์์
- UI ๋์์ธ ์์คํ ๋ง๋ค์ด์ ์์ ์งํํ ๊ฒ.
- ์ ์ fonts
- ์๊ตฌ์ฌํญ ๋ถ์ ์ ๋ฆฌ(๋น๊ธฐ๋ฅ์ ๋ด์ฉ ์์ )
- ์์ด์ด ํ๋ ์ ์์ (ํผ๊ทธ๋ง)
- ํ๋กํ ํ์
, ์ปฌ๋ฌ
- ํ๋กํ ํ์ ์์ฑ(๋ ์ด์์ ์ค์ )
- ๋ฉ์ธ ์ปฌ๋ฌ ์ค์
- ํฐํธ (๋ฉ์ธ, ์๋ธ) ์ปฌ๋ฌ ์ค์
- ํฐํธ ์์น
- ์ปดํฌ๋ํธ, ํ์ผํธ๋ฆฌ ์ ๋ฆฌ
- ์ฒซํ์ด์ง - ์ผ๊ธฐ๋ฅผ ์ธ๋๋ง๋ค ์์ด์ฝ(์ฑ
) ์์ฑ
- ex) ์ฑ ์ฅ ์ฑ ํ๊ถ์ ํ๋ฌ
- ์์ด์ฝ ํด๋ฆญํ์๋ ํด๋น ๊ธ๋ก ์ด๋
- ํด๋น ๊ธ์ ๋๊ธ ๋ฑ๋ก - ๋ฑ๋กํ ์ญ์ ์์ ๊ธฐ๋ฅ์ถ๊ฐ
- ์ค๋ฅธ์ชฝ ํ๋จ์ ๊ธ์ฐ๊ธฐ ์์ด์ฝ์ถ๊ฐ
-
์ฑ ์ฅ - ์ด์ - ์ฑ
-
๋ฒค์น๋งํน์ฌ์ดํธ(๊ตฌํ์ฑ๊ธฐ๋ฅ)
-
์ฌ์ฉ์์๋๋ฆฌ์ค
-
๊ธฐ์
-
์ ์ค์ผ์ด์ค(์ฌ์ฉ์ฑ ๊ธฐ๋ฅ ํ์ )
-
๊ธฐ๋ฅ๊ตฌํ
-
์๊ตฌ์ฌํญ ๋ถ์(๊ธฐ๋ฅ์ , ๋น๊ธฐ๋ฅ์ )
-
์ฌ์ฉ์ ์๋๋ฆฌ์ค ์์ฑ
-
์ํฌํ๋ก์ฐ ์์ฑ -
ํ์ฌ ์ํฌํ๋ก์ฐ๋ฅผ ์ธํฌ๋ฉ์ด์ ์ํคํ ์ณ ํ์์ผ๋ก ์์ฑํ์ฌ ๋ค์ ์์ฑ
- ์น๊ตฌ๋ค๊ณผ ํ๋ฃจ๋ฅผ ๊ณต์ ํ๋ฉฐ ์ํตํ ์ ์๋ ์ฑ์ ๊ตฌํ.
- react๋ฅผ ์ฌ์ฉํ ์ฌ์ฉ์ ๊ฐ์ ์ํํ ์ฐ๊ฒฐ ๊ตฌํ.
- ๋ฐฑ์ค๋๋ฅผ ์ด์ฉํ ํ์๊ฐ์ , ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ์์ฑ.
- ๋จ์ํ SNS๋ฅผ ํตํ ์ผํ์ฑ ๋ํ๊ฐ ์๋, ๊น์ ๋ํ๋ฅผ ์ ๋ํ ์ ์๋ ์ฑ ๊ตฌํ.
- ์ผ๊ธฐ๋ฅผ ๊ธฐ๋กํ๊ณ ์๋ก์ ์ถ์ต์ ๊ณต์ .
- ํ๋ก์ ํธ์ ๋๋ถ์ด ๋์์ธ์ ์ผ๋ก ํ์์ ์ํ๋ ์ปจ์ ์ผ๋ก ์งํํ๋ฉฐ, ํฅ๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์ง์ ๊ฐ๋ฅํ ๋๊ธฐ๋ถ์ฌ๋ก ์ฑ๊ณต ๊ฐ๋ฅ์ฑ์ ๋์.
- ํ ๊ตฌ์ฑ
- ๋ฆฌ๋ : ํ์ฌ์
- ํ์ : ๊น์ ์, ํ์์ธ
- ์ญํ ๋ถ๋ด
- ์์ ๊ธฐ๋ก์ : ํ์ฌ์
- ๊น๊ด๋ฆฌ์ : ๊น์ ์
- ์ผ๋ฌ์คํธ ์์ : ๊น์ ์
- ๋ฐํ : ํ์์ธ
Project site: click๐