Skip to content

Commit f17bfca

Browse files
authored
Merge pull request #513 from meowzip/reese
docs: update README.md to enhance project description, structure, and development guidelines
2 parents 831f361 + 3aecea6 commit f17bfca

File tree

1 file changed

+147
-26
lines changed

1 file changed

+147
-26
lines changed

README.md

Lines changed: 147 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,162 @@
1-
# Meow.zip
1+
# 🐱 Meow.zip Frontend
22

3-
> 길고양이 케어테이커들을 위한 돌봄 일지 서비스 입니다.
3+
**길고양이 케어테이커들을 위한 종합 돌봄 일지 서비스의 프론트엔드 레포지토리**
44

5-
## Tech Stack
5+
> 📋 **서비스 전체 소개**: [Meow.zip organization README.md](https://github.com/meowzip) 참고
66
7-
TypeScript | Next.js | Jotai | Tanstack-Query | TailwindCSS | shadcn-ui
7+
## 🛠 기술 스택
88

9-
## 주요 기능
9+
- **Framework**: Next.js 14 (App Router)
10+
- **Language**: TypeScript
11+
- **Styling**: TailwindCSS + shadcn/ui
12+
- **State Management**: Jotai
13+
- **Data Fetching**: TanStack Query (React Query)
14+
- **Authentication**: NextAuth.js
15+
- **Package Manager**: pnpm
16+
- **Code Quality**: Prettier, ESLint
1017

11-
### 1. 고양이 모음집
18+
## 📁 프로젝트 구조
1219

13-
- 길고양이 프로필 등록 및 관리
14-
- 고양이별 상세 정보 기록
15-
- 이미지 업로드 및 관리
20+
```
21+
src/
22+
├── app/ # Next.js App Router
23+
│ ├── @modal/ # 모달 인터셉팅 라우트
24+
│ ├── api/ # API 라우트 핸들러
25+
│ ├── community/ # /community
26+
│ │ └── page.tsx
27+
│ ├── profile/ # /profile
28+
│ │ └── [id]/
29+
│ │ └── page.tsx # /profile/[id]
30+
│ ├── zip/ # /zip
31+
│ ├── layout.tsx # 루트 레이아웃
32+
│ ├── page.tsx #
33+
│ ├── loading.tsx # 전역 로딩 UI
34+
│ └── error.tsx # 전역 에러 UI
35+
├── components/ # 재사용 컴포넌트
36+
│ ├── ui/ # 기본 UI 컴포넌트 (shadcn/ui)
37+
│ ├── common/ # 공통 컴포넌트
38+
│ └── [domain]/ # 도메인별 컴포넌트
39+
├── hooks/ # 커스텀 훅
40+
├── services/ # API 서비스 레이어
41+
├── store/ # Jotai 전역 상태 관리
42+
├── types/ # Types
43+
└── utils/ # 유틸리티 함수
44+
```
1645

17-
### 2. 돌봄 일지
46+
## 🚀 개발 환경 설정
1847

19-
- 일별 돌봄 활동 기록
20-
- 사진 첨부 기능
21-
- 돌봄 히스토리 관리
48+
### 필수 조건
2249

23-
### 3. 함께 돌봄
50+
- **Node.js**: 18.17 이상
51+
- **pnpm**: 9.8.0 이상
2452

25-
- 다른 케어테이커와 협업
26-
- 돌봄 일정 공유
27-
- 실시간 알림
53+
### 설치 및 실행
2854

29-
### 4. 커뮤니티
55+
```bash
56+
# 1. 저장소 클론
57+
git clone https://github.com/meowzip/meowzip-front.git
58+
cd meowzip-front
3059

31-
- 피드 작성 및 공유
32-
- 댓글 기능
33-
- 좋아요/북마크 기능
34-
- 사용자간 커뮤니티 소통
60+
# 2. 의존성 설치
61+
pnpm install
3562

36-
### 5. 알림
63+
# 3. 환경 변수 설정
64+
cp .env.example .env.local
65+
# .env.local 파일 편집 필요
3766

38-
- 알림 기능
39-
- 알림 관리
67+
# 4. 개발 서버 실행
68+
pnpm dev
69+
```
4070

41-
> 개발 기간: 2023.10 ~ 진행 중
71+
## 📜 개발 스크립트
72+
73+
```bash
74+
# 개발 서버 실행
75+
pnpm dev
76+
77+
# 프로덕션 빌드
78+
pnpm build
79+
80+
# 프로덕션 서버 실행
81+
pnpm start
82+
83+
```
84+
85+
## 🏗 개발 가이드라인
86+
87+
### 컴포넌트 작성 규칙
88+
89+
1. **디렉토리 구조**
90+
91+
```
92+
components/
93+
├── ui/ # 재사용 가능한 기본 컴포넌트
94+
├── common/ # 도메인 무관한 공통 컴포넌트
95+
└── [domain]/ # 특정 도메인 전용 컴포넌트
96+
```
97+
98+
2. **파일명 규칙**
99+
100+
- 컴포넌트: `PascalCase.tsx`
101+
- 훅: `use(prefix) + camelCase.ts or tsx`
102+
- 유틸: `camelCase.ts`
103+
- 타입: `camelCaseType.ts`
104+
105+
3. **컴포넌트 구조**
106+
107+
```typescript
108+
// 타입 정의
109+
interface ComponentProps {
110+
// props 타입
111+
}
112+
113+
// 컴포넌트 정의
114+
export default function Component({ ...props }: ComponentProps) {
115+
// 로직
116+
return (
117+
// JSX
118+
);
119+
}
120+
```
121+
122+
### 상태 관리
123+
124+
- **전역 상태**: Jotai atoms (`src/store/`)
125+
- **서버 상태**: TanStack Query (`src/hooks/`)
126+
- **로컬 상태**: React useState
127+
128+
### API service layer
129+
130+
```typescript
131+
// services 레이어 사용
132+
import { getUserProfile } from '@/services/profile';
133+
134+
// TanStack Query 훅 사용
135+
import { useQuery } from '@tanstack/react-query';
136+
137+
const { data, isLoading, error } = useQuery({
138+
queryKey: ['profile', userId],
139+
queryFn: () => getUserProfile(userId)
140+
});
141+
```
142+
143+
## 🤝 기여하기
144+
145+
### Pull Request 가이드
146+
147+
1. **브랜치 생성**
148+
149+
```bash
150+
git checkout -b feature/your-feature-name
151+
```
152+
153+
2. **커밋 컨벤션**
154+
```
155+
feat: 새로운 기능 추가
156+
fix: 버그 수정
157+
docs: 문서 수정
158+
style: 코드 포맷팅
159+
refactor: 코드 리팩토링
160+
test: 테스트 추가
161+
chore: 빌드 업무 수정
162+
```

0 commit comments

Comments
 (0)