Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
4ab4c23
refactor : 대학 정보 페이지 구조 리팩토링
manNomi Dec 11, 2025
0f27f57
feat : 대학 정보 페이지 메타데이터 추가
manNomi Dec 11, 2025
a2896c0
fix : 폴백 이미지 추가
manNomi Dec 11, 2025
f8ab9f8
feat : seo 추가
manNomi Dec 12, 2025
c7c9695
fix: 로그인 페이지 인풋 필드 디자인 업데이트
manNomi Dec 27, 2025
6f9dc14
feat : 대학 정보 페이지 메타데이터 수정 (#311)
manNomi Dec 27, 2025
0835690
Merge pull request #328 from solid-connection/fix/login-input
manNomi Dec 27, 2025
25229b0
chore: Husky 및 commitlint 설정 추가, CI 워크플로우 병렬화
manNomi Dec 27, 2025
daeaa4d
chore: remove unused packages
manNomi Dec 28, 2025
afa7b75
fix: 메인 페이지 학교 리스트 가상화 문제 수정
manNomi Dec 28, 2025
c2b77c1
chore: lint-staged 제거
manNomi Dec 28, 2025
81ea2c3
Merge pull request #330 from manNomi/chore/husky-commitlint-ci
manNomi Dec 28, 2025
6e3ce4a
chore: implement Husky & CI workflow enhancements
manNomi Dec 28, 2025
df96024
fix: 린트 경고 수정
manNomi Dec 27, 2025
8a43d97
fix: 린트 에러 수정
manNomi Dec 27, 2025
54b557f
chore: ESLint 및 Prettier 마이그레이션
manNomi Dec 28, 2025
0ab9ad0
fix: ESLint 설정 파일 파싱 에러 수정
manNomi Dec 28, 2025
7eb263a
fix: resolve ESLint and TypeScript issues
manNomi Dec 28, 2025
c6b520f
fix: resolve ESLint rule conflicts and undefined value handling
manNomi Dec 28, 2025
7f173ed
fix : lint
manNomi Dec 28, 2025
97dbc6d
fix: 리베이스 충돌 해결 및 누락된 코드 복구
manNomi Dec 28, 2025
01d4129
chore: relax eslint rules - change any type and import rules to warn
manNomi Dec 28, 2025
d2a8875
chore: remove pr title validation from ci workflow
manNomi Dec 28, 2025
8be1041
style: fix prettier formatting
manNomi Dec 28, 2025
a4535f3
fix: resolve typescript errors after rebase
manNomi Dec 28, 2025
5f120b0
fix: resolve typescript errors after rebase
manNomi Dec 28, 2025
9262591
fix: handle undefined FIREBASE_PRIVATE_KEY in build
manNomi Dec 28, 2025
cea0e13
fix: add critters dependency for optimizeCss
manNomi Dec 28, 2025
1ac9157
Merge pull request #333 from manNomi/fix/main-cards
manNomi Dec 28, 2025
ae95133
fix: resolve build errors, typescript issues, and svg warnings
manNomi Dec 28, 2025
4e675e8
refactor: improve firebase error handling and add pre-push hook
manNomi Dec 28, 2025
5cd290f
chore: update husky pre-push for v10 compatibility
manNomi Dec 28, 2025
bad109a
Merge pull request #332 from manNomi/feat/ci-workflow
manNomi Dec 28, 2025
11a3d3d
chore: sync API from Bruno
bruno-sync-app[bot] Dec 28, 2025
25b039b
refactor: migrate universities domain from api to apis
manNomi Dec 28, 2025
53981fc
fix: 리베이스 충돌 해결 및 누락된 코드 복구
manNomi Dec 28, 2025
4a113dc
refactor: complete API migration from src/api to src/apis
manNomi Dec 28, 2025
df0cc40
style: apply linter formatting to apis and components
manNomi Dec 28, 2025
fbf24d2
fix : 버그 수정
manNomi Dec 28, 2025
0350187
fix : 린트 버그 수정
manNomi Dec 28, 2025
ccdc2b2
fix : 린트 버그 수정
manNomi Dec 28, 2025
cee4658
fix : 린트 버그 수정
manNomi Dec 28, 2025
e3f221e
fix: resolve server component import issues and React Hooks violations
manNomi Dec 28, 2025
8078dc1
fix : 레거시 정리
manNomi Dec 28, 2025
03026c7
Merge pull request #334 from manNomi/feat/bruno-sync
manNomi Dec 28, 2025
25171b8
🔥 불필요한 레거시 파일 삭제
manNomi Jan 5, 2026
67b98ba
✨ PR 라벨 알림 워크플로우 추가
manNomi Jan 5, 2026
492f80c
📝 커밋 룰 문서 추가
manNomi Jan 5, 2026
c79ab76
🔧 클로드.md 린트 제외 설정 추가
manNomi Jan 5, 2026
55fa6f5
✨ Discord 역할 멘션 및 봇 이름 설정 추가
manNomi Jan 5, 2026
780f1c8
🔒 하드코딩된 Discord 웹훅 URL 제거 및 보안 강화
manNomi Jan 5, 2026
1eec0b0
🔒 GitHub context 주입 취약점 수정 (command injection 방지)
manNomi Jan 5, 2026
fd87bbb
🔒 jq를 사용한 안전한 JSON 생성으로 injection 공격 방지
manNomi Jan 5, 2026
b76248d
🎨 클로드.md 포맷 정리
manNomi Jan 5, 2026
12ee0b2
🔒 pull_request_target으로 변경 및 CODEOWNERS 보안 체크 추가
manNomi Jan 5, 2026
544366a
Merge pull request #336 from manNomi/feat/webhook
manNomi Jan 5, 2026
77767b6
🔧 pull_request_target 이벤트 이름 수정
manNomi Jan 5, 2026
39c090a
Merge pull request #337 from manNomi/fix/pr-noti
manNomi Jan 5, 2026
a9b1579
🐛 디버그 step 추가로 이벤트 정보 확인
manNomi Jan 5, 2026
b69f057
🧹 디버그 step 제거
manNomi Jan 5, 2026
336928b
Merge pull request #338 from manNomi/fix/pr-noti-bug
manNomi Jan 5, 2026
d647ef0
✨ 주간 PR 요약 봇 추가
manNomi Jan 5, 2026
7685e4b
Merge pull request #339 from manNomi/feat/noti-weekly
manNomi Jan 5, 2026
74e03eb
test: workflow trigger test with workflow file
manNomi Jan 5, 2026
2a728e1
🔧 pull_request_target으로 변경하여 fork PR 지원
manNomi Jan 5, 2026
c3bcc37
test: trigger weekly summary workflow
manNomi Jan 5, 2026
f03511f
🔧 주간 PR 요약 워크플로우 수정
manNomi Jan 5, 2026
74c12e6
✨ PR 생성 시 트리거되는 주간 요약 테스트 워크플로우 추가
manNomi Jan 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
클로드.md
134 changes: 134 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
/**
* ESLint 설정 파일
* Next.js + TypeScript 프로젝트용
*
* 주요 설정:
* - TypeScript 파서 사용
* - Next.js 및 TypeScript 권장 규칙 적용
* - Prettier와의 충돌 방지
*/
module.exports = {
root: true,
parser: "@typescript-eslint/parser",
parserOptions: {
ecmaVersion: "latest",
sourceType: "module",
project: "./tsconfig.json",
},
env: {
browser: true,
es2021: true,
node: true,
},
plugins: ["@typescript-eslint"],
extends: [
// Next.js 기본 설정
"next",
// Next.js TypeScript 설정 (plugin:@typescript-eslint/recommended 기반)
"next/typescript",
// TypeScript ESLint 권장 규칙
"plugin:@typescript-eslint/recommended",
// Prettier와 충돌하는 규칙 비활성화 (항상 마지막에 위치해야 함)
"prettier",
],
overrides: [
{
// 설정 파일들은 TypeScript 프로젝트에 포함되지 않으므로 project 옵션 비활성화
env: {
node: true,
},
files: [".eslintrc.{js,cjs}", "*.config.{js,mjs,ts}"],
parserOptions: {
sourceType: "script",
project: null,
},
},
],
rules: {
// ==========================================
// React 관련 규칙
// ==========================================

// JSX 사용 시 React import 불필요 (React 17+)
"react/react-in-jsx-scope": "off",

// JSX 허용 파일 확장자
"react/jsx-filename-extension": [1, { extensions: [".js", ".jsx", ".tsx"] }],

// defaultProps 필수 여부 비활성화
"react/require-default-props": "off",

// 함수 컴포넌트는 화살표 함수로 정의
"react/function-component-definition": [1, { namedComponents: "arrow-function" }],

// ==========================================
// Import 관련 규칙
// ==========================================

// import 순서는 Prettier 플러그인에서 처리
"import/order": "off",

// import 시 파일 확장자 생략 (warning으로 설정)
"import/extensions": "off",

// 단일 export 시 default export 권장 (warning)
"import/prefer-default-export": "off",

// ==========================================
// 일반 JavaScript 규칙
// ==========================================

// console.log 허용 (개발 편의)
"no-console": "off",

// alert 허용
"no-alert": "off",

// 정의 전 사용 허용 (TypeScript에서 처리)
"no-use-before-define": "off",

// 미사용 변수 - 기본 규칙 비활성화 (TypeScript 규칙과 충돌 방지)
"no-unused-vars": "off",

// ==========================================
// TypeScript 관련 규칙
// ==========================================

// 미사용 변수 경고 (TypeScript용 - 기본 규칙 대신 사용)
"@typescript-eslint/no-unused-vars": "warn",

// any 타입 사용 경고 (error -> warn)
"@typescript-eslint/no-explicit-any": "warn",

// any 타입 관련 규칙 (경고로 설정)
"@typescript-eslint/no-unsafe-assignment": "warn",
"@typescript-eslint/no-unsafe-member-access": "warn",
"@typescript-eslint/no-unsafe-return": "warn",
"@typescript-eslint/no-unsafe-call": "warn",
"@typescript-eslint/no-unsafe-argument": "warn",

// ==========================================
// 접근성 (a11y) 관련 규칙
// ==========================================

// label과 control 연결 규칙 비활성화
"jsx-a11y/label-has-associated-control": "off",

// 클릭 이벤트에 키보드 이벤트 필요 (경고)
"jsx-a11y/click-events-have-key-events": "warn",

// 정적 요소에 이벤트 핸들러 (경고)
"jsx-a11y/no-static-element-interactions": "warn",
},
settings: {
"import/parsers": {
"@typescript-eslint/parser": [".ts", ".tsx"],
},
"import/resolver": {
typescript: {
alwaysTryTypes: true,
project: "./tsconfig.json",
},
},
},
};
82 changes: 0 additions & 82 deletions .eslintrc.json

This file was deleted.

2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1 +1 @@
* @wibaek @manNomi
* @wibaek @manNomi @enunsnv @khwww
7 changes: 4 additions & 3 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
title: ""
labels: bug
assignees: ''

assignees: ""
---

## 어떤 버그인가요

> 문제가 되는 부분에 대해 설명해주세요

## 재현 방법(선택)

버그를 재현할 수 있는 과정을 설명해주세요(필요하다면 사진을 첨부해주세요)

1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
Expand Down
5 changes: 2 additions & 3 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
title: ""
labels: enhancement
assignees: ''

assignees: ""
---

## 어떤 기능인가요?
Expand Down
54 changes: 54 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: CI

on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]

jobs:
lint:
name: Lint & Type Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22.x"
cache: "npm"

- name: Install dependencies
run: npm ci

- name: Run ESLint
run: npm run lint

- name: Check Prettier formatting
run: npm run format:check

- name: TypeScript type check
run: npm run typecheck

build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22.x"
cache: "npm"

- name: Install dependencies
run: npm ci

- name: Build
run: npm run build
env:
NODE_ENV: production
Loading
Loading