Skip to content

Commit 9a225cc

Browse files
committed
[Init] Prettier 및 프로젝트 구조 설정
- Prettier 패키지 설치 및 .prettierrc 구성 추가 - Prettier 관련 패키지 설치: prettier, eslint-config-prettier, prettier-plugin-tailwindcss - .prettierrc 추가: 팀 코드 스타일 통일 (세미콜론, 작은따옴표, 줄바꿈 등 설정) - .gitattributes 추가: LF 줄바꿈 설정으로 OS 간 충돌 방지 - VSCode 자동 포맷팅 설정 추가 - ESLint와 Prettier 연동: Prettier를 ESLint의 확장으로 추가 - Next.js 라우팅 및 컴포넌트 디렉토리 구조 정의 - 주요 페이지 디렉토리 및 컴포넌트 분리 - 프로젝트 확장성과 유지보수를 고려한 구조 설계
1 parent ae1bce4 commit 9a225cc

File tree

39 files changed

+297
-31
lines changed

39 files changed

+297
-31
lines changed

.eslintrc.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
{
2-
"extends": ["next/core-web-vitals", "next/typescript"]
3-
}
2+
"extends": [
3+
"next/core-web-vitals",
4+
"next/typescript",
5+
"prettier"
6+
]
7+
}

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* text=auto

.prettierrc

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"semi": true,
3+
"singleQuote": true,
4+
"trailingComma": "all",
5+
"endOfLine": "lf",
6+
"tabWidth": 2,
7+
"useTabs": false,
8+
"bracketSpacing": true,
9+
"arrowParens": "always",
10+
"singleAttributePerLine": false,
11+
"plugins": [
12+
"prettier-plugin-tailwindcss"
13+
]
14+
}

.vscode/settings.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"editor.formatOnSave": true,
3+
"editor.defaultFormatter": "esbenp.prettier-vscode",
4+
"[javascript]": {
5+
"editor.defaultFormatter": "esbenp.prettier-vscode"
6+
},
7+
"[typescript]": {
8+
"editor.defaultFormatter": "esbenp.prettier-vscode"
9+
},
10+
"[json]": {
11+
"editor.defaultFormatter": "esbenp.prettier-vscode"
12+
},
13+
"[css]": {
14+
"editor.defaultFormatter": "esbenp.prettier-vscode"
15+
}
16+
}

README2.md

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
# **Archi Semtle Web Dev** (FE)
2+
3+
## 📝 **프로젝트 소개**
4+
5+
...
6+
7+
## 🚀 **주요 기능**
8+
9+
...
10+
11+
## 📂 **프로젝트 구조**
12+
13+
```plaintext
14+
/
15+
├── .vscode/ # VSCode 환경 설정
16+
│ ├── settings.json # VSCode 특정 프로젝트 설정 (예: 포맷터, 들여쓰기 등)
17+
|
18+
├── documents/ # README 모음
19+
├── public/ # 정적 파일 (이미지, 폰트 등)
20+
├── src/ # 소스 코드
21+
│ ├── app/ # Next.js App Router 관련 파일
22+
│ │ ├── about/ # "소개" 페이지
23+
│ │ │ ├── page.tsx # /about 경로의 컴포넌트
24+
│ │ ├── activities/ # "활동" 페이지
25+
│ │ ├── executive/ # "집행부" 페이지
26+
│ │ ├── history/ # "History" 페이지
27+
│ │ ├── login/ # 로그인 페이지
28+
│ │ ├── mypage/ # "마이페이지" 디렉토리
29+
│ │ ├── organization/ # "조직도" 페이지
30+
│ │ ├── projects/ # 프로젝트 관련 디렉토리
31+
│ │ │ ├── page.tsx # /projects 경로의 메인 페이지
32+
│ │ │ ├── completed/ # 완료된 프로젝트 관련 디렉토리
33+
│ │ │ │ ├── [projectID]/ # 동적 경로: 특정 완료된 프로젝트 상세 페이지
34+
│ │ │ │ ├── page.tsx # /projects/completed/:projectID
35+
│ │ │ ├── recruit/ # 프로젝트 모집 관련 디렉토리
36+
│ │ │ ├── [projectID]/ # 동적 경로: 특정 모집 프로젝트 상세 페이지
37+
│ │ │ ├── page.tsx # /projects/recruit/:projectID
38+
│ │ ├── recruiting/ # "가입안내" 페이지
39+
│ │ ├── regulations/ # "학회회칙" 페이지
40+
│ │ ├── schedule/ # "학회일정" 페이지
41+
│ │ ├── secret/ # "Secret 노트" 페이지
42+
│ │ ├── fonts/ # 웹폰트 관련 파일
43+
│ │ ├── favicon.ico # 웹사이트의 파비콘 설정 파일
44+
│ │ ├── global-error.tsx # 전역 에러 페이지 (에러 발생 시 보여질 컴포넌트)
45+
│ │ ├── layout.tsx # 공통 레이아웃 (Header, Footer 포함)
46+
│ │ ├── not-found.tsx # 404 Not Found 페이지
47+
│ │ ├── page.tsx # 메인 홈 페이지 ("/" 경로)
48+
│ ├── components/ # 재사용 가능한 UI 컴포넌트 디렉토리
49+
│ │ ├── Button.tsx # 재사용 가능한 버튼 컴포넌트
50+
│ │ ├── Footer.tsx # 하단 공통 Footer 컴포넌트
51+
│ │ ├── Header.tsx # 상단 공통 Header 컴포넌트
52+
│ │ ├── Loader.tsx # 로딩 애니메이션 컴포넌트
53+
│ │ ├── Navigation.tsx # 네비게이션 바 컴포넌트
54+
│ ├── styles/ # 전역 스타일 관리
55+
│ │ ├── global.css # 프로젝트 전역 스타일 파일
56+
│ ├── types/ # TypeScript 타입 정의 디렉토리
57+
│ │ ├── api.ts # API 요청/응답에 사용되는 타입 정의
58+
│ │ ├── props.ts # 컴포넌트 Props에 사용되는 타입 정의
59+
│ ├── utils/ # 유틸리티 함수 디렉토리
60+
│ ├── api.ts # API 호출 관련 함수
61+
|
62+
├── .gitattributes # Git 속성 관리 (예: 줄바꿈 설정, 파일 속성 제어)
63+
├── .gitignore # Git에 포함하지 않을 파일 설정
64+
├── .prettierrc # Prettier 코드 포맷터 설정 파일
65+
├── eslintrc.json # ESLint 설정 파일
66+
├── next-env.d.ts # TypeScript Next.js 환경 정의
67+
├── next.config.ts # Next.js 설정 파일
68+
├── package-lock.json # 패키지 잠금 파일
69+
├── package.json # 프로젝트 정보 및 의존성 관리
70+
├── postcss.config.mjs # PostCSS 설정 파일
71+
├── README.md # 프로젝트 소개 문서
72+
├── tailwind.config.ts # TailwindCSS 설정 파일
73+
├── tsconfig.json # TypeScript 설정 파일
74+
```
75+
76+
## 🔧 **설치 및 실행**
77+
78+
### 1. **프로젝트 가져오기**
79+
80+
```bash
81+
git clone https://github.com/Lab-Semtle/semtle-web-client-0.2.git
82+
```
83+
84+
### 2. **브랜치 분기**
85+
86+
```bash
87+
git checkout -b feature/#[이슈번호]
88+
git push origin feature/#[이슈번호]
89+
```
90+
91+
### 3. **패키지 설치**
92+
93+
```bash
94+
npm install
95+
```
96+
97+
### 4. **개발 서버 실행**
98+
99+
```bash
100+
npm run dev
101+
```
102+
103+
- 실행 후 브라우저에서 [http://localhost:3000](http://localhost:3000)을 열어 확인하세요.
104+
105+
## 🌟 **기술 스택**
106+
107+
...
108+
109+
## 📜 **스크립트**
110+
111+
...
112+
113+
## 🛠️ **환경 변수 설정**
114+
115+
프로젝트의 민감한 정보를 관리하기 위해 `.env` 파일을 사용합니다.
116+
117+
### `.env.example`
118+
119+
```plaintext
120+
API_URL=
121+
DATABASE_URL=
122+
NEXT_PUBLIC_API_KEY=
123+
```
124+
125+
- `.env` 파일을 작성한 후, 위의 형식에 맞게 정보를 추가하세요.
126+
- `.env` 파일은 `.gitignore`에 포함되어야 합니다.
127+
128+
## 🧑 **TEAM**
129+
130+
...
131+
132+
## 🔗 **참고 자료**
133+
134+
...
135+
136+
## 🐞 **문제 및 개선 사항**
137+
138+
...

package-lock.json

Lines changed: 113 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,21 @@
99
"lint": "next lint"
1010
},
1111
"dependencies": {
12+
"next": "15.0.4",
1213
"react": "^19.0.0",
13-
"react-dom": "^19.0.0",
14-
"next": "15.0.4"
14+
"react-dom": "^19.0.0"
1515
},
1616
"devDependencies": {
17-
"typescript": "^5",
1817
"@types/node": "^20",
1918
"@types/react": "^19",
2019
"@types/react-dom": "^19",
20+
"eslint": "^8",
21+
"eslint-config-next": "15.0.4",
22+
"eslint-config-prettier": "^9.1.0",
2123
"postcss": "^8",
24+
"prettier": "^3.4.2",
25+
"prettier-plugin-tailwindcss": "^0.6.9",
2226
"tailwindcss": "^3.4.1",
23-
"eslint": "^8",
24-
"eslint-config-next": "15.0.4"
27+
"typescript": "^5"
2528
}
26-
}
29+
}

src/app/about/page.tsx

Whitespace-only changes.

src/app/activities/page.tsx

Whitespace-only changes.

src/app/executive/layout.tsx

Whitespace-only changes.

0 commit comments

Comments
 (0)