Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
6827782
feat: 다중 지원서 API 연결
seongje973 Oct 11, 2025
ac3503a
feat: hooks_and_ApplicationEditTab_connect_API
seongje973 Oct 12, 2025
b4b81a3
Merge branch 'develop-fe' into feature/#781-connectingmultipleapplica…
seongje973 Oct 31, 2025
fb53f93
Revert "feat: hooks_and_ApplicationEditTab_connect_API"
seongje973 Oct 31, 2025
492667b
feature: API 수정
seongje973 Nov 2, 2025
a6c5b54
feat: 스크롤 상단 이동 버튼 추가
seongwon030 Nov 2, 2025
013debd
style: bottom 20->80px로 변경
seongwon030 Nov 2, 2025
32f0805
refactor: useScrollToTop 훅에서 스크롤 임계값 상수화
seongwon030 Nov 3, 2025
0a8034f
feature: API 수정및 적용
seongje973 Nov 4, 2025
a363482
modify: PrivateRoute에서 useGetApplicants 연동 해제
seongje973 Nov 6, 2025
ecf525d
feat: scroll 이벤트 리스너에 passive 옵션 추가
seongwon030 Nov 8, 2025
8aa62d6
Merge branch 'develop-fe' of https://github.com/Moadong/moadong into …
seongje973 Nov 9, 2025
9cef479
fix: 데스크탑, 모바일 스타일을 상수로 분리
seongwon030 Nov 10, 2025
f28d8ce
style: 모집중, 클럽태그 폰트사이즈 일관성 유지
seongwon030 Nov 10, 2025
dcb8445
refactor: clubStatbox,ClubTag 폰트사이즈 상수로 분리
seongwon030 Nov 10, 2025
d4370d6
style: 카드 제목, 설명 모바일 rem 추가
seongwon030 Nov 10, 2025
e682b54
fix: 터치 디바이스에서 ClubCard hover 효과 자동 적용 문제 수정
seongwon030 Nov 10, 2025
c12d05e
style: 카드 설명 font-weight: normal 설정
seongwon030 Nov 10, 2025
18eb74e
style: clubCard 로고 radius 수정
seongwon030 Nov 12, 2025
fd4a76f
style: ClubTag 스타일 개선
seongwon030 Nov 12, 2025
d2d7cb8
style: MainPage 스타일 정리
seongwon030 Nov 12, 2025
3362fc2
fix: change data-placeholder to placeholder
lepitaaar Nov 12, 2025
925e752
feature: connect_api_to_list_tap
seongje973 Nov 12, 2025
a9c6995
style: sectionBar align-items를 flex-end로 수정
seongwon030 Nov 12, 2025
0ba8eab
Merge pull request #830 from Moadong/fix/#829-card-design-fix-MOA-313
seongwon030 Nov 12, 2025
963d723
chore: index.html을 루트로 변경
lepitaaar Nov 12, 2025
6d5168a
chore: vite 의존성 추가
lepitaaar Nov 12, 2025
b7784e7
chore: vite/client 타입 추가
lepitaaar Nov 12, 2025
c38777f
feat: 기본 vite config 파일
lepitaaar Nov 12, 2025
c961f54
refactor: 환경변수 파일 접근 수정
lepitaaar Nov 12, 2025
61160e1
fix: script 오타 수정
lepitaaar Nov 12, 2025
8d97ca8
Merge pull request #840 from Moadong/fix/#838-show-question-builder-t…
seongwon030 Nov 13, 2025
f3d4919
Merge branch 'develop-fe' into feature/#799-scroll-to-top-hook-and-bu…
seongwon030 Nov 13, 2025
b38ede1
feature: 지원서 삭제 기능 구현
seongje973 Nov 13, 2025
43cc1c4
repactor: semesterTerm을 직접 수정하는 부분 변경
seongje973 Nov 13, 2025
926a7ee
Merge branch 'develop-fe' into feature/#781-connectingmultipleapplica…
seongje973 Nov 13, 2025
c51c82a
feature: 지원자 현황 변경
seongje973 Nov 15, 2025
3c4a38f
chore: dedupe & 의존성 정리
lepitaaar Nov 15, 2025
d245c61
chore: rollup-plugin-visualizer 제거
lepitaaar Nov 15, 2025
e47f5f3
fix: 새 지원서 생성 후 연결되는 경로 변경
seongje973 Nov 15, 2025
17473e6
chore: 환경 변수 임포트 변경
lepitaaar Nov 15, 2025
0d0b30d
chord: 번들링 code splitting
lepitaaar Nov 15, 2025
5efda18
fix: 수정후 연결되는 경로 수정
seongje973 Nov 15, 2025
d8b7015
chore: 프로덕션에 필요없는 의존성 dev dependencies로 이동
lepitaaar Nov 15, 2025
1a53fe6
fix: sentry 환경변수 접두사 VITE 추가
lepitaaar Nov 15, 2025
ad7d544
feat: 관리자가 관리 중인 동아리 정보를 헤더에 표시하기 위한 AdminProfile 컴포넌트 추가
oesnuj Nov 15, 2025
329850b
refactor: AdminProfile에서 clubDetail의 name과 logo를 구조 분해 할당으로 분리
oesnuj Nov 15, 2025
504d5da
fix: 불필요한 Loading 삭제
seongje973 Nov 15, 2025
8688241
fix: early return 수정
seongje973 Nov 15, 2025
1bd443b
fix: semester 클라이언트 기준으로 설정
seongje973 Nov 17, 2025
0340c2f
fix: any타입 수정
seongje973 Nov 17, 2025
9c3c19d
fix: 쿼리키 수정
seongje973 Nov 17, 2025
8cf42ba
fix: active 타입 수정
seongje973 Nov 17, 2025
fab71c8
fix: undefined인 경우 처리
seongje973 Nov 17, 2025
0d39d24
fix: Update부분 수정
seongje973 Nov 17, 2025
e8d2c57
fix: active 수정
seongje973 Nov 17, 2025
1e5be34
Merge pull request #783 from Moadong/feature/#781-connectingmultiplea…
seongje973 Nov 17, 2025
be2c7a0
fix: 스크롤 버튼 svg 변경
seongwon030 Nov 17, 2025
256a956
refactor: scrollButton을 Button폴더에서 제거
seongwon030 Nov 17, 2025
d76aa95
feat: 스크롤 탑 버튼 컴포넌트 및 커스텀 훅 구현
seongwon030 Nov 17, 2025
f0c2407
refactor: scrollButton 스타일 별개의 폴더로 분리
seongwon030 Nov 17, 2025
9cf5cb6
refactor: ScrollButton을 독립 폴더로 분리하고 useScrollToTop 훅 적용
seongwon030 Nov 17, 2025
d0b081a
refactor: App.tsx에 ScrollButton 임포트 경로 변경
seongwon030 Nov 17, 2025
6e7b5e2
feat: Mixpanel 설정 변경 - IP 추적 방지 해제
seongwon030 Nov 17, 2025
81bdd50
refactor: EVENT_NAME을 USER_EVENT로 이름 변경
seongwon030 Nov 19, 2025
0c76ca7
feat: PAGE_VIEW 상수 추가 및 이벤트 구조 개선
seongwon030 Nov 19, 2025
c05b39a
feat: 소개페이지 트럐킹 추가
seongwon030 Nov 19, 2025
412cc8f
Merge pull request #845 from Moadong/feature/#843-admin-header-profil…
oesnuj Nov 19, 2025
583e77d
refactor: useScrollTrigger 성능 최적화
seongwon030 Nov 19, 2025
38ee749
feat: 11월 패치노트 배너 이미지 추가 (모바일/데스크탑용)
oesnuj Nov 19, 2025
15e6a83
refactor: 배너 데이터 구조 개선 및 중복 제거
oesnuj Nov 19, 2025
5fdb09c
refactor: PhotoList/PhotoModal 네비게이션 버튼 import 수정
oesnuj Nov 19, 2025
82a0a21
refactor: Banner 컴포넌트 구조 개선 및 props 제거
oesnuj Nov 19, 2025
e003068
style: Banner 스타일 정리 및 불필요한 코드 제거
oesnuj Nov 19, 2025
f7c6182
refactor: 배너 이미지 해상도 개선
oesnuj Nov 19, 2025
aef3e06
chore: SHARE 버튼·SNS 링크 이벤트명을 영문화
seongwon030 Nov 19, 2025
bc19f81
fix: 버튼 색상 수정
suhyun113 Nov 19, 2025
7f40406
refactor: ScrollButton을 ScrollToTopButton으로 이름변경
seongwon030 Nov 19, 2025
4af6aa4
fix: 모달 제목 변경 및 설명 제거
suhyun113 Nov 19, 2025
07163ee
Merge pull request #850 from Moadong/feature/#849-mixpanel-ip-trackin…
seongwon030 Nov 19, 2025
247f1d1
Merge pull request #856 from Moadong/refactor/#853-unify-mixpanel-eve…
seongwon030 Nov 19, 2025
7c80865
Merge pull request #800 from Moadong/feature/#799-scroll-to-top-hook-…
seongwon030 Nov 19, 2025
5c56643
chore: 프로덕션 외 Mixpanel 비활성화
seongwon030 Nov 19, 2025
1bdd4d8
fix: url 끝에 / 제거
seongwon030 Nov 19, 2025
53eefd6
fix: conflict resolve
lepitaaar Nov 20, 2025
f8ff630
Merge branch 'develop-fe' into chore/#841-change-webpack-to-vite-MOA-322
lepitaaar Nov 20, 2025
b57a55c
feat: fix conflict
lepitaaar Nov 20, 2025
2e1db02
Merge pull request #844 from Moadong/chore/#841-change-webpack-to-vit…
lepitaaar Nov 20, 2025
ad24725
Merge pull request #858 from Moadong/feature/#857-patchnote-banner-20…
oesnuj Nov 20, 2025
faa3c5e
fix: 모바일 헤더에서 검색바 위치 중앙 정렬 수정
oesnuj Nov 20, 2025
095c45d
Merge pull request #869 from Moadong/feature/#868-able-to-production-…
seongwon030 Nov 20, 2025
7f42524
feat(analytics): 이벤트 추적 상수 구조화
seongwon030 Nov 20, 2025
3fd6f83
feat(analytics): 관리자 페이지 주요 액션 트래킹 구현
seongwon030 Nov 20, 2025
fb4de8f
feat(analytics): 관리자 페이지 주요 액션 트래킹 구현
seongwon030 Nov 20, 2025
53104db
feat: 동아리 로고 편집 기능 Mixpanel 트래킹 추가
seongwon030 Nov 20, 2025
20f599c
Merge pull request #872 from Moadong/feature/#861-change-apply-modal-…
seongwon030 Nov 20, 2025
6625f4b
refactor: 내부 속성 as const제거
seongwon030 Nov 20, 2025
4585c50
fix: 이미지 업로드 로깅제거
seongwon030 Nov 20, 2025
034c5b2
chore: Markdown 미리보기 토글 트래킹 순서 조정
seongwon030 Nov 20, 2025
4dc9041
Merge pull request #874 from Moadong/feature/#865-admin-mixpanel-logg…
seongwon030 Nov 20, 2025
504f573
Merge pull request #871 from Moadong/fix/#870-header-flex-order-bug
oesnuj Nov 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions frontend/config/vite.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import tsconfigPaths from 'vite-tsconfig-paths';

const DEFAULT_PORT = 3000;

export default defineConfig({
plugins: [react(), tsconfigPaths()],
server: {
port: DEFAULT_PORT,
},
});
Comment on lines +1 to +12
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

환경 변수 설정 확인이 필요합니다.

Vite 설정이 기본적으로 올바르게 구성되어 있으나, VITE_* 환경 변수가 제대로 로드되는지 확인이 필요합니다.

다음 스크립트로 .env 파일 존재 여부 및 환경 변수 설정을 확인하세요:


🏁 Script executed:

#!/bin/bash
# .env 파일 존재 확인
fd -t f "^\.env" frontend/

# 코드베이스에서 사용 중인 VITE_ 환경 변수 확인
rg -n "import\.meta\.env\.VITE_" frontend/src --type ts --type tsx

Length of output: 235


더 정확한 검증을 위해 수정된 스크립트를 실행하겠습니다.


---

🏁 Script executed:

```shell
#!/bin/bash
# .env 파일 존재 확인 (숨김 파일 포함)
echo "=== .env files search ==="
fd -H -t f "\.env" frontend/ 2>/dev/null || echo "No .env files found"

# VITE_ 환경 변수 사용 확인
echo -e "\n=== VITE_ environment variables usage ==="
rg -n "import\.meta\.env\.VITE_" frontend/src -A 2 -B 2 2>/dev/null || echo "No VITE_ variables found"

# vite.config.ts 구조 재확인
echo -e "\n=== Checking vite.config.ts content ==="
cat frontend/config/vite.config.ts 2>/dev/null || echo "Config file not accessible"

# 프론트엔드 루트에서 .env 파일 찾기
echo -e "\n=== Direct .env search in frontend root ==="
ls -la frontend/.env* 2>/dev/null || echo "No .env files in frontend root"

Length of output: 2475


.env 파일이 존재하지 않지만 코드에서 환경 변수를 사용 중입니다. .gitignore 설정을 확인하겠습니다.


---

🏁 Script executed:

```shell
#!/bin/bash
# .gitignore에서 .env 패턴 확인
echo "=== .gitignore content ==="
cat .gitignore 2>/dev/null | grep -E "\.env|env" || echo "No .env patterns found in .gitignore"

# .env.example 또는 유사 템플릿 파일 확인
echo -e "\n=== Looking for .env template files ==="
fd -H "env\.example|example\.env" . 2>/dev/null || echo "No .env template files found"

# 프로젝트 루트 구조 확인
echo -e "\n=== Frontend directory structure ==="
ls -la frontend/ 2>/dev/null | head -20

Length of output: 1321


.env.example 파일 추가 필요

Vite 설정(vite.config.ts)은 올바르게 구성되어 있고, Vite가 VITE_* 환경 변수를 자동으로 로드합니다. 다만 개발자 온보딩을 위해 필수 환경 변수를 문서화하는 .env.example 파일이 없습니다.

코드에서 사용 중인 환경 변수:

  • VITE_MIXPANEL_TOKEN (frontend/src/utils/initSDK.ts)
  • VITE_CHANNEL_PLUGIN_KEY (frontend/src/utils/initSDK.ts)
  • VITE_SENTRY_DSN (frontend/src/utils/initSDK.ts)
  • VITE_SENTRY_RELEASE (frontend/src/utils/initSDK.ts)
  • VITE_KAKAO_JAVASCRIPT_KEY (frontend/src/utils/initSDK.ts)
  • VITE_API_BASE_URL (frontend/src/constants/api.ts)

프로젝트 루트에 .env.example 파일을 추가하여 필수 변수와 샘플값을 명시하세요.

🤖 Prompt for AI Agents
frontend/config/vite.config.ts lines 1-12: missing a .env.example in the project
root documenting required VITE_* environment variables; create a .env.example
file at the repo root that lists each required key (VITE_MIXPANEL_TOKEN,
VITE_CHANNEL_PLUGIN_KEY, VITE_SENTRY_DSN, VITE_SENTRY_RELEASE,
VITE_KAKAO_JAVASCRIPT_KEY, VITE_API_BASE_URL) with non-sensitive sample
placeholders and brief one-line comments describing expected values, ensure all
keys are prefixed with VITE_ and do not include real secrets.

67 changes: 67 additions & 0 deletions frontend/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8" />
<!-- 네이버 서치어드바이저 태그-->
<meta
name="naver-site-verification"
content="1923d7ecdc8a948e0678d367073acd93a9a48c6e"
/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
/>
<title>모아동 - 부경대학교 모든 동아리를 한눈에</title>
<meta
name="description"
content="부경대학교 동아리 찾기, 모집 정보 확인부터 신규 동아리 가입과 홍보까지 한 번에 할 수 있어요."
/>
<link rel="canonical" href="https://www.moadong.com" />
<!-- 파비콘 -->
<link rel="icon" href="/favicon.ico" />

<!-- Open Graph (OG) 메타 태그 -->
<meta property="og:type" content="website" />
<meta property="og:title" content="모아동" />
<meta
property="og:description"
content="모아 동아리! 부경대학교 모든 동아리를 한눈에!"
/>
<meta property="og:url" content="https://www.moadong.com" />
<meta property="og:site_name" content="Moadong" />
<meta property="og:image" content="https://www.moadong.com/og_image.png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />

<!-- Twitter Card -->
<meta name="twitter:card" content="summary" />
<meta
name="twitter:title"
content="모아 동아리! 부경대학교 모든 동아리를 한눈에!"
/>
<meta
name="twitter:description"
content="부경대 동아리 정보를 한 곳에서 찾아보고, 새로운 동아리에 가입해 보세요!"
/>
<meta name="twitter:image" content="https://www.moadong.com/og_image.png" />
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css"
/>
<link
rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Krona+One&display=swap"
/>
<script
src="https://t1.kakaocdn.net/kakao_js_sdk/2.7.5/kakao.min.js"
integrity="sha384-dok87au0gKqJdxs7msEdBPNnKSRT+/mhTVzq+qOhcL464zXwvcrpjeWvyj1kCdq6"
crossorigin="anonymous"
></script>
Comment on lines +56 to +60
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

Kakao SDK 버전 확인이 필요합니다.

현재 Kakao SDK 버전(2.7.5)이 최신이며 보안 이슈가 없는지 확인하세요.


🌐 Web query:

Kakao JavaScript SDK latest version 2.7.5 security advisories

💡 Result:

Short answer: I found no public security advisories specifically for Kakao JavaScript SDK v2.7.5. Kakao’s official release notes list 2.7.5 as an “internal update” released on 2025‑04‑03, and the latest SDK version on the official site is 2.7.9 (2025‑11‑05) — update to the newest release if you need the most recent fixes. [1][2]

Sources:

  • Kakao Developers — JavaScript SDK download/version history (shows 2.7.5 released 2025-04-03 and latest 2.7.9 on 2025-11-05). [1]
  • Kakao Developers — Security guidelines / vulnerability reporting (how to report and recommended actions such as reissuing keys). [2]

If you want, I can:

  • scan public vulnerability databases (CVE, Snyk, GitHub Advisory DB) for related issues and return results with links; or
  • fetch the 2.7.9 changelog and integrity tag so you can plan an upgrade. Which would you prefer?

Kakao SDK 버전을 최신 릴리스로 업데이트하세요.

현재 코드는 Kakao JavaScript SDK v2.7.5를 사용 중이며, 이 버전에는 공개된 보안 취약점이 없습니다. 그러나 최신 버전은 2.7.9(2025-11-05 릴리스)입니다. 최신 수정사항과 개선사항을 적용하려면 다음을 업데이트하세요:

    <script
      src="https://t1.kakaocdn.net/kakao_js_sdk/2.7.9/kakao.min.js"
      integrity="[2.7.9의 새 무결성 해시값]"
      crossorigin="anonymous"
    ></script>

Kakao 공식 문서에서 v2.7.9의 정확한 무결성 해시값을 확인하여 업데이트하세요.

🤖 Prompt for AI Agents
frontend/index.html around lines 56 to 60: update the Kakao JavaScript SDK
reference to the latest release (v2.7.9) by changing the src path to
https://t1.kakaocdn.net/kakao_js_sdk/2.7.9/kakao.min.js and replace the
integrity attribute with the exact SRI hash from the official Kakao v2.7.9
release notes or CDN metadata; ensure crossorigin="anonymous" remains and verify
the new integrity value by fetching the official manifest or calculating the
hash of the v2.7.9 file before committing.

</head>

<body>
<div id="root"></div>
</body>
<script type="module" src="./src/index.tsx"></script>
</html>
Loading