- ๊ฐ์
- ์ฃผ์ ๊ธฐ๋ฅ
- ์ปค๋ฎค๋ํฐ ๊ธฐ๋ฅ์ ํตํ ๋ฐ์ดํฐ ๊ณต์
- ์ ํ ์ฐจ๋ณ์ฑ
- ๊ธฐ์ ์คํ ๋ฐ ๊ฐ๋ฐ ๋ฐฉ๋ฒ
- ์ฃผ์ ๊ธฐ๋ฅ ๋ฐ UI ์ค๋ช
- ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ
์ค๋งํธํ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๊ณ ๊ฑฐ๋ํ ์ ์๋ ์ปค๋ฎค๋ํฐ ์ค์ฌ์ ์น ํ๋ซํผ์ ๋๋ค. ์ฌ์ฉ์ ๊ฐ์ ์ง์ ๊ณต์ ์ ๋ฐ์ดํฐ ๊ฑฐ๋๋ฅผ ํตํด ์ค๋งํธ ๋์ ์ํ๊ณ๋ฅผ ํ์ฑํํ๊ณ , ๋์ ์ ๋ฌธ๊ฐ์ ํ์ ํ ์ ์๋ ๊ธฐํ๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋์ ์ข ์ฌ์์ ์ฐ๊ตฌ์๋ค์ด ๋์ ๊ด๋ จ ์ง์๊ณผ ์ ๋ณด๋ฅผ ๊ต๋ฅํ๋ฉฐ ์ค์ง์ ์ธ ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ์์ ๋ชจ์ํ ์ ์์ต๋๋ค.
์ฌ์ฉ์๊ฐ ์ค๋งํธํ์์ ์์งํ ๋ฐ์ดํฐ๋ฅผ ๋ฑ๋กํ๊ณ , ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ์ฌ ๊ตฌ๋งคํ ์ ์์ต๋๋ค.
์ฌ์ฉ์๋ ๋ณธ์ธ ์ธ์ฆ์ ํตํด ๋ฐ์ดํฐ ๊ณต์ ๋ฐ ๊ฑฐ๋ ์๋น์ค์ ์์ ํ๊ฒ ์ ๊ทผํ ์ ์์ต๋๋ค.
๋ฐ์ดํฐ ํ๋ซํผ์ ํตํด ์ฌ์ฉ์๋ค์ ๋์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ ์ ์์ผ๋ฉฐ, ์ฃผ์ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๋ฐ์ดํฐ ๋ฑ๋ก: ๋์ ์ข ์ฌ์๋ ์์ ์ ๋ฐ์ดํฐ๋ฅผ ํ๋ซํผ์ ๋ฑ๋กํ๊ณ ๊ฐ๊ฒฉ์ ์ค์ ํ์ฌ ํ๋งคํ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ ๊ฒ์: ๊ตฌ๋งค์๋ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๊ณ ๊ตฌ๋งคํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ ๊ธฐ๋ฐ์ ๋์ ์ฐ๊ตฌ ํ์ฑํ์ ๋๊ฐ ์๋ ์ฆ๋์ ๊ธฐ์ฌํ ์ ์์ต๋๋ค.
PLKIT์ ๋จ์ํ ๋ฐ์ดํฐ ๋ชจ๋ํฐ๋ง์ ๋์ด, ์์ ํ๊ณ ์ ๋ขฐํ ์ ์๋ ๋ฐ์ดํฐ ๊ฑฐ๋๋ฅผ ์ง์ํ๋ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค. ์ฃผ์ ์ฐจ๋ณํ ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๋ฐ์ดํฐ ์์ง: ๋ค์ํ ์ผ์๋ฅผ ํตํด ์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ณ ์ ์ฅ.
- ๋ฐ์ดํฐ ์ต๋ช ํ: ๊ฐ์ธ์ ๋ณด ๋ณดํธ๋ฅผ ์ํ ๋ฐ์ดํฐ ์ต๋ช ํ ์ฒ๋ฆฌ๋ก ๋ฐ์ดํฐ์ ์์ ์ฑ์ ํ๋ณด.
- ์์ต ์ฐฝ์ถ: ๋ฐ์ดํฐ ์ ๊ณต์์ ๋ํ ์์ต ๋ถ๋ฐฐ ๋ชจ๋ธ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ ์ฌ์ฉ์์๊ฒ ์์ต ์ฐฝ์ถ์ ๊ธฐํ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ฐ๊ตฌ ๊ธฐ๊ด๊ณผ ๋์ ๊ด๋ จ ๊ธฐ์ ์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ๋งคํ์ฌ ์ฐ๊ตฌ ๊ฐ๋ฐ(R&D) ๋ชฉ์ ์ผ๋ก ํ์ฉํ ์ ์์ต๋๋ค.
์ด ํ๋ก์ ํธ๋ React๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๋ชจ๋ํ ์ปดํฌ๋ํธ ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ์ฌ ์ค๊ณ๋์์ต๋๋ค. ๊ฐ ๊ธฐ๋ฅ์ด ๋ ๋ฆฝ์ ์ธ ์ปดํฌ๋ํธ๋ก ๊ตฌํ๋์ด ์ ์ง๋ณด์์ฑ๊ณผ ํ์ฅ์ฑ์ ๋์์ผ๋ฉฐ, ๋ฐ์ดํฐ ํต์ ๋ฐ ์ํ ๊ด๋ฆฌ๋ฅผ ์ต์ ํํ์ต๋๋ค.
- ํ๋ก ํธ์๋ ํ๋ ์์ํฌ: React๋ฅผ ์ฌ์ฉํ์ฌ ์ปดํฌ๋ํธ ๊ธฐ๋ฐ์ผ๋ก ์ค๊ณํ์์ผ๋ฉฐ, ์ฌ์ฉ์ ๊ฒฝํ์ ๊ฐ์ ํ๋ ๋์ ์นํ์ด์ง๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์คํ์ผ๋ง: CSS-in-JS ๋ฐฉ์์ Styled-Components๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ง๋ณด์๊ฐ ์ฉ์ดํ ์คํ์ผ๋ง์ ์ ๊ณตํฉ๋๋ค.
- ๋ฐฑ์๋ ์ฐ๋: API์ JWT ์ธ์ฆ ๋ฐฉ์์ ๊ธฐ๋ฐ์ผ๋ก ํ ์์ ํ ๋ฐ์ดํฐ ํต์ ์ ๊ตฌํํ์์ต๋๋ค.
์ด๋ฌํ ๊ธฐ์ ์คํ์ ํ๋ซํผ์ ์ฑ๋ฅ๊ณผ ๋ณด์์ฑ์ ๋์ด๋ฉฐ, ๋ค์ํ ์ค๋งํธํ ์ฅ์น์์ ํตํฉ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
- ์ฌ์ฉ์๊ฐ ๋ณธ์ธ ์ธ์ฆ์ ์๋ฃํ๋ฉด, ์ปค๋ฎค๋ํฐ์ ๋ง์ผ์ ์ ๊ทผํ ์ ์์ต๋๋ค. ์ธ์ฆ ์๋ฃ ํ ํ์ฑํ๋ ์๋น์ค์ ์ ๊ทผํ์ฌ ๋ฐ์ดํฐ ๊ณต์ ๋ฐ ๊ฑฐ๋๋ฅผ ์งํํ ์ ์์ต๋๋ค.
- ์ง์ ๊ณต์ : ์ปค๋ฎค๋ํฐ์์ ์ฌ์ฉ์๋ค์ ์ค๋งํธํ์ ๋ํ ์ ๋ณด์ ์ง์์ ์์ ๋กญ๊ฒ ๊ณต์ ํ ์ ์์ต๋๋ค. ์ง๋ฌธ์ ๋ฑ๋กํ๊ณ ๋ต๋ณ์ ๋ฐ์ ์ ์์ด, ๋์ ๊ด๋ จ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ ์ค๋๋ค
.
- ๊ฒ์๊ธ ๊ด๋ฆฌ: ๊ฒ์๊ธ์ ๋ฑ๋ก, ์์ , ์ญ์ ํ ์ ์์ผ๋ฉฐ, ๋ค๋ฅธ ์ฌ์ฉ์์ ์ง๋ฌธ์ ๋ํ ๋ต๋ณ์ ํตํด ์ง์์ ๊ต๋ฅํ ์ ์์ต๋๋ค.
- ๊ฒ์๊ธ ์์ธ๋ณด๊ธฐ: ๊ฐ ๊ฒ์๊ธ์ ์์ธ ํ์ด์ง์์ ๋ด์ฉ์ ํ์ธํ๊ณ , ์ถ๊ฐ ์ง๋ฌธ ๋ฐ ๋ต๋ณ์ ํตํด ์ํตํ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ ๊ฑฐ๋: ์ฌ์ฉ์๋ค์ด ์ค๋งํธํ์์ ์์งํ ๋ฐ์ดํฐ๋ฅผ ๊ฑฐ๋ํ ์ ์์ต๋๋ค. ๊ฐ ๋ฐ์ดํฐ์ ๋ํ ์ ๋ณด๋ฅผ ์ ๋ ฅํ๊ณ , ๊ฐ๊ฒฉ๊ณผ ์กฐ๊ฑด์ ์ค์ ํ์ฌ ํ๋งคํ ์ ์์ต๋๋ค.
- ๊ฑฐ๋ ๋ฐ์ดํฐ ๊ด๋ฆฌ: ํ๋งค ์ค์ธ ๋ฐ์ดํฐ์ ์ ๋ณด๋ฅผ ์์ ํ๊ฑฐ๋ ์ญ์ ํ ์ ์์ผ๋ฉฐ, ๋ฐ์ดํฐ์ ๋ํ ์์ธ ์ค๋ช ์ ์ถ๊ฐํ์ฌ ๊ตฌ๋งค์์๊ฒ ํ์ํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
PLKIT-FE.web
โโโ .env # ํ๊ฒฝ ๋ณ์ ์ค์ ํ์ผ
โโโ .gitignore # Git์์ ์ ์ธํ ํ์ผ ๋ชฉ๋ก
โโโ directory_structure.txt # ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ ํ์ผ
โโโ package-lock.json # npm ํจํค์ง ์ข
์์ฑ ๊ด๋ฆฌ ํ์ผ
โโโ package.json # ํ๋ก์ ํธ ์ค์ ํ์ผ
โโโ README.md # ํ๋ก์ ํธ ์ค๋ช
ํ์ผ
โโโ public
โ โโโ index.html # HTML ํ
ํ๋ฆฟ ํ์ผ
โ โโโ imgs # ์ด๋ฏธ์ง ํ์ผ ํด๋
โ โโโ default_1.jpg
โ โโโ default_2.jpg
โ โโโ default_3.jpg
โโโ src
โ โโโ axiosConfig.js # Axios ์ค์ ํ์ผ
โ โโโ index.css # ์ ์ญ ์คํ์ผ ํ์ผ
โ โโโ index.js # React ์ฑ ์ง์
ํ์ผ
โ โโโ Main.js # ๋ฉ์ธ ์ปดํฌ๋ํธ
โ โโโ setupProxy.js # ํ๋ก์ ์ค์ ํ์ผ
โ โโโ api # API ํด๋
โ โ โโโ index.js # API ์์ฒญ ๊ด๋ฆฌ ํ์ผ
โ โ โโโ mock.json # ๋ชจ์ ๋ฐ์ดํฐ ํ์ผ
โ โโโ assets # ํ๋ก์ ํธ์ ํ์ํ ์ด๋ฏธ์ง ๋ฐ ์์ด์ฝ
โ โ โโโ catalog.svg
โ โ โโโ google.svg
โ โ โโโ (๊ธฐํ ์์ด์ฝ ํ์ผ๋ค)
โ โโโ components # UI ์ปดํฌ๋ํธ ํด๋
โ โ โโโ App.js # ์ฃผ์ ์ฑ ์ปดํฌ๋ํธ
โ โ โโโ Avatar.js # ์ฌ์ฉ์ ์๋ฐํ ์ปดํฌ๋ํธ
โ โ โโโ Button.js # ๋ฒํผ ์ปดํฌ๋ํธ
โ โ โโโ Card.js # ์นด๋ ์ปดํฌ๋ํธ
โ โ โโโ Footer.js # ํธํฐ ์ปดํฌ๋ํธ
โ โ โโโ Nav.js # ๋ค๋น๊ฒ์ด์
์ปดํฌ๋ํธ
โ โ โโโ SearchBar.js # ๊ฒ์ ๋ฐ ์ปดํฌ๋ํธ
โ โ โโโ (๊ธฐํ ์ปดํฌ๋ํธ ํ์ผ๋ค)
โ โโโ contexts # ์ปจํ
์คํธ ๊ด๋ฆฌ ํด๋
โ โ โโโ AuthProvider.js # ์ธ์ฆ ์ปจํ
์คํธ
โ โ โโโ ToasterProvider.js # ํ ์คํธ ๋ฉ์์ง ์ปจํ
์คํธ
โ โโโ hooks # ์ปค์คํ
ํ
ํด๋
โ โ โโโ useIsMounted.js # ์ปดํฌ๋ํธ ๋ง์ดํธ ํ์ธ ํ
โ โโโ lib # ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ์ ํธ๋ฆฌํฐ ํด๋
โ โ โโโ axios.js # Axios ์ปค์คํ
์ธ์คํด์ค
โ โโโ pages # ์ฃผ์ ํ์ด์ง ํด๋
โ โ โโโ CommunityListPage.js # ์ปค๋ฎค๋ํฐ ๋ฆฌ์คํธ ํ์ด์ง
โ โ โโโ CommunityPage.js # ์ปค๋ฎค๋ํฐ ์์ธ ํ์ด์ง
โ โ โโโ MarketListPage.js # ๋ง์ผ ๋ฆฌ์คํธ ํ์ด์ง
โ โ โโโ MarketPage.js # ๋ง์ผ ์์ธ ํ์ด์ง
โ โ โโโ LoginPage.js # ๋ก๊ทธ์ธ ํ์ด์ง
โ โ โโโ RegisterPage.js # ํ์๊ฐ์
ํ์ด์ง
โ โ โโโ HomePage.js # ๋ฉ์ธ ํ ํ์ด์ง
โ โ โโโ NotFoundPage.js # 404 ์๋ฌ ํ์ด์ง
โ โ โโโ (๊ธฐํ ํ์ด์ง ํ์ผ๋ค)
โ โโโ utils # ์ ํธ๋ฆฌํฐ ํจ์ ํด๋
โ โโโ getMarketColor.js # ๋ง์ผ ์ปฌ๋ฌ ํจ์
โโโ node_modules # ํ๋ก์ ํธ ์์กด์ฑ ๋ชจ๋
์ด ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ๋ ๊ฐ ๊ธฐ๋ฅ๊ณผ ํ์ด์ง๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ๊ด๋ฆฌํ์ฌ ์ฝ๋์ ๋ชจ๋ํ์ ์ฌ์ฌ์ฉ์ฑ์ ๋์์ผ๋ฉฐ, ๋ช ํํ ํด๋ ๊ตฌ์กฐ๋ก ์ ์ง๋ณด์์ฑ์ ๊ฐํํ์ต๋๋ค.