์์ธ์ ๊ณต๊ณต๋ฐ์ดํฐ๋ฅผ ํ์ฉํ ์ค์๊ฐ ์ฃผ์ฐจ์ฅ ๋น์๋ฆฌ ํ์ธ ์๋น์ค์ ํ๋ก ํธ์๋ ์์คํ ์ ๋๋ค.
IsItEmpty๋ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ง๋ค์ด์ก์ต๋๋ค:
- ๐ซ ๋ถ๋ฒ ์ฃผ์ ์ฐจ๋ก ์ธํ ์ฌํ์ ๋ฌธ์
- ๐ซ ์ฃผ์ฐจ ๊ณต๊ฐ์ ์ฐพ๊ธฐ ์ํ ๋ถํ์ํ ์๊ฐ ๋ญ๋น
- ๐ ๊ตํต ์ฒด์ฆ๊ณผ ํ๊ฒฝ ์ค์ผ
-
๐บ๏ธ ์ค์๊ฐ ์ง๋ ๊ธฐ๋ฐ ์๋น์ค
- ์นด์นด์ค๋งต ๊ธฐ๋ฐ ์ฃผ์ฐจ์ฅ ์์น ํ์
- ์ค์๊ฐ ๋น์๋ฆฌ ์ ๋ณด ์ ๋ฐ์ดํธ
- ํ์ฌ ์์น ๊ธฐ๋ฐ ์ฃผ๋ณ ์ฃผ์ฐจ์ฅ ๊ฒ์
-
๐ ์ค๋งํธ ๊ฒ์ ์์คํ
- ์ฃผ์ ๊ธฐ๋ฐ ์ฃผ์ฐจ์ฅ ๊ฒ์
- ๋ค์ํ ํํฐ๋ง ์ต์
- ์ฆ๊ฒจ์ฐพ๊ธฐ ๊ธฐ๋ฅ
-
๐ฅ ์ฌ์ฉ์ ์ปค๋ฎค๋ํฐ
- ์ฃผ์ฐจ์ฅ ๋ฆฌ๋ทฐ ๋ฐ ํ์
- ์ค์๊ฐ ์ด์ฉ ํ๊ธฐ
- ์ฃผ์ฐจ์ฅ ์ ๋ณด ๊ณต์
-
๐ฑ ๋ชจ๋ฐ์ผ ์ต์ ํ
- ๋ฐ์ํ ๋์์ธ
- ํฐ์น ์นํ์ UI
- ๋ชจ๋ฐ์ผ ์ฐ์ ์ค๊ณ
-
๐ ๊ด๋ฆฌ์ ๋์๋ณด๋
- ์ฌ์ฉ์ ๊ด๋ฆฌ
- ์ฌ์ฉ์ ๋ชฉ๋ก ์กฐํ
- ์ฌ์ฉ์ ์ ๋ณด ์์
- ๊ณ์ ์ญ์
- ๊ถํ ๋ ๋ฒจ ๋ณ๊ฒฝ (๊ด๋ฆฌ์/์ผ๋ฐ ์ฌ์ฉ์)
- ๋ฌธ์์ฌํญ ๊ด๋ฆฌ
- ๋ฌธ์ ๋ชฉ๋ก ์กฐํ
- ๋ฌธ์ ๋ต๋ณ/์ญ์
- ์์คํ
๋ชจ๋ํฐ๋ง
- ์ฌ์ฉ์ ํต๊ณ
- ์๋น์ค ์ด์ฉ ํํฉ
- ์ฌ์ฉ์ ๊ด๋ฆฌ
-
ํ๋ ์์ํฌ:
-
์ธ์ด:
-
์คํ์ผ๋ง:
-
์ํ ๊ด๋ฆฌ:
-
๋ผ์ฐํ :
-
HTTP ํด๋ผ์ด์ธํธ:
-
์ง๋:
-
์ธ์ฆ:
-
๋ฐฐํฌ:
-
CI/CD:
- ๐บ๏ธ ์ค์๊ฐ ์ฃผ์ฐจ์ฅ ์ง๋
- ๐ ์ฃผ์ฐจ์ฅ ๊ฒ์ ๋ฐ
- โญ ์ฆ๊ฒจ์ฐพ๊ธฐ ์ฃผ์ฐจ์ฅ ๋ฐ๋ก๊ฐ๊ธฐ
- ๐ ์์น ์ ๋ณด
- ๐ฐ ์๊ธ ์ ๋ณด
- ๐ ์ด์ ์๊ฐ
- ๐ ์ค์๊ฐ ์ฃผ์ฐจ ํํฉ
- โญ ํ์ ๋ฐ ๋ฆฌ๋ทฐ
- ๐ค ํ๋กํ ๊ด๋ฆฌ
- ๐ ๋ด ๋ฆฌ๋ทฐ ๊ด๋ฆฌ
- โญ ์ฆ๊ฒจ์ฐพ๊ธฐ ๊ด๋ฆฌ
- ๐ ์ด์ฉ ๋ด์ญ
- ๐ฅ ์ฌ์ฉ์ ๊ด๋ฆฌ ๋์๋ณด๋
- ์ฌ์ฉ์ ๋ชฉ๋ก ํ ์ด๋ธ ๋ทฐ
- ๊ถํ ๊ด๋ฆฌ ์ธํฐํ์ด์ค
- ๊ณ์ ๊ด๋ฆฌ ๋๊ตฌ
- ๐ฎ ๋ฌธ์์ฌํญ ๊ด๋ฆฌ
- ๋ฌธ์ ๋ชฉ๋ก ๋ฐ ์ํ ๊ด๋ฆฌ
- ๋ต๋ณ ์์ฑ ์ธํฐํ์ด์ค
- ๐ ํต๊ณ ๋ฐ ๋ชจ๋ํฐ๋ง
- ์ฌ์ฉ์ ํ๋ ํต๊ณ
- ์์คํ ์ํ ๋ชจ๋ํฐ๋ง
isitempty-frontend/
โโโ src/
โ โโโ api/ # API ํต์ ๋ชจ๋
โ โ โโโ apiService.js # API ์์ฒญ ํจ์
โ โ โโโ axiosInstance.js # Axios ์ค์
โ โโโ components/ # ์ฌ์ฌ์ฉ ์ปดํฌ๋ํธ
โ โ โโโ Header/ # ํค๋ ์ปดํฌ๋ํธ
โ โ โโโ Footer/ # ํธํฐ ์ปดํฌ๋ํธ
โ โ โโโ common/ # ๊ณตํต ์ปดํฌ๋ํธ
โ โโโ pages/ # ํ์ด์ง ์ปดํฌ๋ํธ
โ โ โโโ Home/ # ํ ํ์ด์ง
โ โ โโโ Map/ # ์ง๋ ํ์ด์ง
โ โ โโโ Login/ # ๋ก๊ทธ์ธ ํ์ด์ง
โ โ โโโ Signup/ # ํ์๊ฐ์
ํ์ด์ง
โ โ โโโ Mypage/ # ๋ง์ดํ์ด์ง
โ โ โโโ Admin/ # ๊ด๋ฆฌ์ ํ์ด์ง
โ โโโ repository/ # ๋ก์ปฌ ์คํ ๋ฆฌ์ง
โ โโโ App.jsx # ์ฑ ๋ฃจํธ ์ปดํฌ๋ํธ
โ โโโ main.jsx # ์ง์
์
โโโ public/ # ์ ์ ํ์ผ
โโโ index.html # HTML ํ
ํ๋ฆฟ
โโโ package.json # ํ๋ก์ ํธ ์ค์
-
ํ์ ์๊ตฌ์ฌํญ
- ๐ฆ Node.js 20.x ์ด์
- ๐ฆ npm 10.x ์ด์
-
ํ๊ฒฝ๋ณ์ ์ค์
VITE_KAKAO_MAP_API_KEY=your_kakao_map_api_key VITE_GOOGLE_CLIENT_ID=your_google_client_id VITE_KAKAO_CLIENT_ID=your_kakao_client_id VITE_NAVER_CLIENT_ID=your_naver_client_id
-
์ค์น ๋ฐ ์คํ
# ์์กด์ฑ ์ค์น npm install --legacy-peer-deps # ๊ฐ๋ฐ ์๋ฒ ์คํ npm run dev # ํ๋ก๋์ ๋น๋ npm run build
-
Docker ์คํ
# Docker ์ด๋ฏธ์ง ๋น๋ docker build -t isitempty-frontend . # Docker ์ปจํ ์ด๋ ์คํ docker run -p 80:80 isitempty-frontend
- ๐ต Primary:
#4269cc - โซ Text:
#213547 - โช Background:
#ffffff - ๐ Accent:
#646cff
- ๊ธฐ๋ณธ ํฐํธ: Inter, system-ui, Avenir
- ์ ๋ชฉ: 2.5em (h1), 2em (h2), 1.5em (h3)
- ๋ณธ๋ฌธ: 1em
- ๐ฑ ๋ชจ๋ฐ์ผ: < 768px
- ๐ป ํ๋ธ๋ฆฟ: 768px ~ 1024px
- ๐ฅ๏ธ ๋ฐ์คํฌํฑ: > 1024px
GitHub Actions๋ฅผ ํตํ ์๋ ๋ฐฐํฌ:
- main ๋ธ๋์น push ์ ์๋ ๋น๋
- ํ๊ฒฝ๋ณ์ ์ฃผ์
- Docker ์ด๋ฏธ์ง ๋น๋
- Nginx ์ค์ ์ ์ฉ
- ์ด์ ์๋ฒ ๋ฐฐํฌ
- ๐ฆ Code Splitting
- ๐ Lazy Loading
- ๐ผ๏ธ ์ด๋ฏธ์ง ์ต์ ํ
- ๐พ ์บ์ฑ ์ ๋ต
This project is licensed under the MIT License - see the LICENSE file for details
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
ํ๋ก์ ํธ ๊ด๋ จ ๋ฌธ์์ฌํญ์ ์๋ ์ฑ๋์ ํตํด ์ฐ๋ฝ์ฃผ์ธ์:
- ์ด๋ฉ์ผ: dietken1@ajou.ac.kr
- ์น์ฌ์ดํธ: https://isitempty.kr
- GitHub: https://github.com/isitempty
