Skip to content

Isitempty/Isitempty-FE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

415 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš— IsItEmpty ํ”„๋ก ํŠธ์—”๋“œ

IsItEmpty Logo

๐Ÿ…ฟ๏ธ ์‹ค์‹œ๊ฐ„ ์ฃผ์ฐจ์žฅ ๋นˆ์ž๋ฆฌ ํ™•์ธ์œผ๋กœ ์ฃผ์ฐจ ์ŠคํŠธ๋ ˆ์Šค ํ•ด์†Œ!

์„œ์šธ์‹œ ๊ณต๊ณต๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•œ ์‹ค์‹œ๊ฐ„ ์ฃผ์ฐจ์žฅ ๋นˆ์ž๋ฆฌ ํ™•์ธ ์„œ๋น„์Šค์˜ ํ”„๋ก ํŠธ์—”๋“œ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.

๐Ÿ’ก ์„œ๋น„์Šค ์†Œ๊ฐœ

IsItEmpty๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค:

  • ๐Ÿšซ ๋ถˆ๋ฒ• ์ฃผ์ •์ฐจ๋กœ ์ธํ•œ ์‚ฌํšŒ์  ๋ฌธ์ œ
  • ๐Ÿ˜ซ ์ฃผ์ฐจ ๊ณต๊ฐ„์„ ์ฐพ๊ธฐ ์œ„ํ•œ ๋ถˆํ•„์š”ํ•œ ์‹œ๊ฐ„ ๋‚ญ๋น„
  • ๐ŸŒ ๊ตํ†ต ์ฒด์ฆ๊ณผ ํ™˜๊ฒฝ ์˜ค์—ผ

์ฃผ์š” ๊ธฐ๋Šฅ

  1. ๐Ÿ—บ๏ธ ์‹ค์‹œ๊ฐ„ ์ง€๋„ ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค

    • ์นด์นด์˜ค๋งต ๊ธฐ๋ฐ˜ ์ฃผ์ฐจ์žฅ ์œ„์น˜ ํ‘œ์‹œ
    • ์‹ค์‹œ๊ฐ„ ๋นˆ์ž๋ฆฌ ์ •๋ณด ์—…๋ฐ์ดํŠธ
    • ํ˜„์žฌ ์œ„์น˜ ๊ธฐ๋ฐ˜ ์ฃผ๋ณ€ ์ฃผ์ฐจ์žฅ ๊ฒ€์ƒ‰
  2. ๐Ÿ” ์Šค๋งˆํŠธ ๊ฒ€์ƒ‰ ์‹œ์Šคํ…œ

    • ์ฃผ์†Œ ๊ธฐ๋ฐ˜ ์ฃผ์ฐจ์žฅ ๊ฒ€์ƒ‰
    • ๋‹ค์–‘ํ•œ ํ•„ํ„ฐ๋ง ์˜ต์…˜
    • ์ฆ๊ฒจ์ฐพ๊ธฐ ๊ธฐ๋Šฅ
  3. ๐Ÿ‘ฅ ์‚ฌ์šฉ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ

    • ์ฃผ์ฐจ์žฅ ๋ฆฌ๋ทฐ ๋ฐ ํ‰์ 
    • ์‹ค์‹œ๊ฐ„ ์ด์šฉ ํ›„๊ธฐ
    • ์ฃผ์ฐจ์žฅ ์ •๋ณด ๊ณต์œ 
  4. ๐Ÿ“ฑ ๋ชจ๋ฐ”์ผ ์ตœ์ ํ™”

    • ๋ฐ˜์‘ํ˜• ๋””์ž์ธ
    • ํ„ฐ์น˜ ์นœํ™”์  UI
    • ๋ชจ๋ฐ”์ผ ์šฐ์„  ์„ค๊ณ„
  5. ๐Ÿ‘‘ ๊ด€๋ฆฌ์ž ๋Œ€์‹œ๋ณด๋“œ

    • ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ
      • ์‚ฌ์šฉ์ž ๋ชฉ๋ก ์กฐํšŒ
      • ์‚ฌ์šฉ์ž ์ •๋ณด ์ˆ˜์ •
      • ๊ณ„์ • ์‚ญ์ œ
      • ๊ถŒํ•œ ๋ ˆ๋ฒจ ๋ณ€๊ฒฝ (๊ด€๋ฆฌ์ž/์ผ๋ฐ˜ ์‚ฌ์šฉ์ž)
    • ๋ฌธ์˜์‚ฌํ•ญ ๊ด€๋ฆฌ
      • ๋ฌธ์˜ ๋ชฉ๋ก ์กฐํšŒ
      • ๋ฌธ์˜ ๋‹ต๋ณ€/์‚ญ์ œ
    • ์‹œ์Šคํ…œ ๋ชจ๋‹ˆํ„ฐ๋ง
      • ์‚ฌ์šฉ์ž ํ†ต๊ณ„
      • ์„œ๋น„์Šค ์ด์šฉ ํ˜„ํ™ฉ

๐Ÿ›  ๊ธฐ์ˆ  ์Šคํƒ

  • ํ”„๋ ˆ์ž„์›Œํฌ:

    • React
    • Vite
  • ์–ธ์–ด:

    • JavaScript
    • JSX
  • ์Šคํƒ€์ผ๋ง:

    • CSS Modules
  • ์ƒํƒœ ๊ด€๋ฆฌ:

    • React Context
  • ๋ผ์šฐํŒ…:

    • React Router
  • HTTP ํด๋ผ์ด์–ธํŠธ:

    • Axios
  • ์ง€๋„:

    • Kakao Maps
  • ์ธ์ฆ:

    • OAuth2.0
  • ๋ฐฐํฌ:

    • Docker
    • Nginx
  • CI/CD:

    • GitHub Actions

๐Ÿ“ฑ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค

๋ฉ”์ธ ํ™”๋ฉด

  • ๐Ÿ—บ๏ธ ์‹ค์‹œ๊ฐ„ ์ฃผ์ฐจ์žฅ ์ง€๋„
  • ๐Ÿ” ์ฃผ์ฐจ์žฅ ๊ฒ€์ƒ‰ ๋ฐ”
  • โญ ์ฆ๊ฒจ์ฐพ๊ธฐ ์ฃผ์ฐจ์žฅ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ฃผ์ฐจ์žฅ ์ƒ์„ธ ์ •๋ณด

  • ๐Ÿ“ ์œ„์น˜ ์ •๋ณด
  • ๐Ÿ’ฐ ์š”๊ธˆ ์ •๋ณด
  • ๐Ÿ•’ ์šด์˜ ์‹œ๊ฐ„
  • ๐Ÿ“Š ์‹ค์‹œ๊ฐ„ ์ฃผ์ฐจ ํ˜„ํ™ฉ
  • โญ ํ‰์  ๋ฐ ๋ฆฌ๋ทฐ

์‚ฌ์šฉ์ž ํŽ˜์ด์ง€

  • ๐Ÿ‘ค ํ”„๋กœํ•„ ๊ด€๋ฆฌ
  • ๐Ÿ“ ๋‚ด ๋ฆฌ๋ทฐ ๊ด€๋ฆฌ
  • โญ ์ฆ๊ฒจ์ฐพ๊ธฐ ๊ด€๋ฆฌ
  • ๐Ÿ“œ ์ด์šฉ ๋‚ด์—ญ

๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€

  • ๐Ÿ‘ฅ ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ ๋Œ€์‹œ๋ณด๋“œ
    • ์‚ฌ์šฉ์ž ๋ชฉ๋ก ํ…Œ์ด๋ธ” ๋ทฐ
    • ๊ถŒํ•œ ๊ด€๋ฆฌ ์ธํ„ฐํŽ˜์ด์Šค
    • ๊ณ„์ • ๊ด€๋ฆฌ ๋„๊ตฌ
  • ๐Ÿ“ฎ ๋ฌธ์˜์‚ฌํ•ญ ๊ด€๋ฆฌ
    • ๋ฌธ์˜ ๋ชฉ๋ก ๋ฐ ์ƒํƒœ ๊ด€๋ฆฌ
    • ๋‹ต๋ณ€ ์ž‘์„ฑ ์ธํ„ฐํŽ˜์ด์Šค
  • ๐Ÿ“Š ํ†ต๊ณ„ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง
    • ์‚ฌ์šฉ์ž ํ™œ๋™ ํ†ต๊ณ„
    • ์‹œ์Šคํ…œ ์ƒํƒœ ๋ชจ๋‹ˆํ„ฐ๋ง

๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

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         # ํ”„๋กœ์ ํŠธ ์„ค์ •

โš™๏ธ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ •

  1. ํ•„์ˆ˜ ์š”๊ตฌ์‚ฌํ•ญ

    • ๐Ÿ“ฆ Node.js 20.x ์ด์ƒ
    • ๐Ÿ“ฆ npm 10.x ์ด์ƒ
  2. ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •

    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
  3. ์„ค์น˜ ๋ฐ ์‹คํ–‰

    # ์˜์กด์„ฑ ์„ค์น˜
    npm install --legacy-peer-deps
    
    # ๊ฐœ๋ฐœ ์„œ๋ฒ„ ์‹คํ–‰
    npm run dev
    
    # ํ”„๋กœ๋•์…˜ ๋นŒ๋“œ
    npm run build
  4. 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๋ฅผ ํ†ตํ•œ ์ž๋™ ๋ฐฐํฌ:

  1. main ๋ธŒ๋žœ์น˜ push ์‹œ ์ž๋™ ๋นŒ๋“œ
  2. ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ฃผ์ž…
  3. Docker ์ด๋ฏธ์ง€ ๋นŒ๋“œ
  4. Nginx ์„ค์ • ์ ์šฉ
  5. ์šด์˜ ์„œ๋ฒ„ ๋ฐฐํฌ

๐Ÿ” ์„ฑ๋Šฅ ์ตœ์ ํ™”

  • ๐Ÿ“ฆ Code Splitting
  • ๐Ÿ”„ Lazy Loading
  • ๐Ÿ–ผ๏ธ ์ด๋ฏธ์ง€ ์ตœ์ ํ™”
  • ๐Ÿ’พ ์บ์‹ฑ ์ „๋žต

๐ŸŒ ๋ธŒ๋ผ์šฐ์ € ์ง€์›

  • Chrome
  • Firefox
  • Safari
  • Edge

๐Ÿ“œ ๋ผ์ด์„ ์Šค

This project is licensed under the MIT License - see the LICENSE file for details

๐Ÿค ๊ธฐ์—ฌํ•˜๊ธฐ

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“ž ์—ฐ๋ฝ์ฒ˜

ํ”„๋กœ์ ํŠธ ๊ด€๋ จ ๋ฌธ์˜์‚ฌํ•ญ์€ ์•„๋ž˜ ์ฑ„๋„์„ ํ†ตํ•ด ์—ฐ๋ฝ์ฃผ์„ธ์š”:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages