Skip to content

Commit c7cf2db

Browse files
authored
Merge pull request #110 from wafflestudio/feat/README
README 수정
2 parents fab745c + f37d77c commit c7cf2db

File tree

1 file changed

+91
-27
lines changed

1 file changed

+91
-27
lines changed

README.md

Lines changed: 91 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,100 @@
1-
# 23-5-team4-server
1+
<div align="center">
2+
<img src="https://raw.githubusercontent.com/wafflestudio/moiming-web/refs/heads/main/public/moiming-logo.png"
3+
alt="모이밍" width="150" />
4+
<br />
5+
<p align="center">
6+
<img src="https://img.shields.io/badge/Kotlin-1.9.x-7F52FF?style=for-the-badge&logo=kotlin&logoColor=white" alt="Kotlin" />
7+
<img src="https://img.shields.io/badge/Spring%20Boot-3.5.x-6DB33F?style=for-the-badge&logo=spring-boot&logoColor=white" alt="Spring Boot" />
8+
<img src="https://img.shields.io/badge/MySQL-8.x-4479A1?style=for-the-badge&logo=mysql&logoColor=white" alt="MySQL" />
9+
<img src="https://img.shields.io/badge/Redis-7.x-DC382D?style=for-the-badge&logo=redis&logoColor=white" alt="Redis" />
10+
<img src="https://img.shields.io/badge/AWS%20S3-Storage-232F3E?style=for-the-badge&logo=amazon-s3&logoColor=white" alt="AWS S3" />
11+
</p>
12+
</div>
213

3-
와플스튜디오 23.5기 4조 server
14+
# 모이밍 서버
415

5-
## 협업 규칙
16+
모이밍 서비스의 백엔드 서버입니다. Kotlin + Spring Boot 기반으로 모임, 참가, 인증, 유저, 이미지 업로드 기능을 제공합니다.
617

7-
### 작업 프로세스
18+
## 주요 기능
819

9-
1. **이슈 생성**: Github에서 이슈를 생성
10-
2. **이슈 공유**: 슬랙에 이슈 링크 공유
11-
3. **브랜치 생성**: 이슈와 연결된 브랜치 생성
12-
4. **작업 완료**: 해당 이슈에 대응되는 작업 완료
13-
5. **PR 생성**: Pull Request 생성
14-
6. **리뷰 요청**: PR 링크를 슬랙에 공유하며 리뷰어 태그해 리뷰 요청
15-
7. **코드 리뷰 및 병합**: 리뷰어는 코드 리뷰 후 메인에 머지
20+
- 모임(Event) 생성 및 조회
21+
- 참가(Registration) 신청 및 상태 변경
22+
- 이메일/소셜 로그인, JWT 기반 인증
23+
- 프로필/이미지 업로드용 S3 프리사인 URL 발급
24+
- Redis 기반 캐시/토큰 관리
25+
- Swagger(OpenAPI) 문서 제공
1626

17-
### Github Flow
27+
## 기술 스택
1828

19-
- fork 없이 메인 레포를 바로 clone해서 작업 후 push
20-
- 브랜치 전략:
21-
- `main`
22-
- `feat/name` - 새로운 기능 개발
23-
- `hotfix/name` - 긴급 버그 수정
24-
- `ref/name` - 리팩토링
25-
- PR을 병합할 때는 스쿼시 후 병합
29+
- Kotlin 1.9.x, Spring Boot 3.5.x
30+
- MySQL 8.x, Redis 7.x
31+
- Flyway (DB 마이그레이션)
32+
- JWT, Spring Mail, Springdoc OpenAPI
33+
- AWS S3 (이미지 업로드)
2634

27-
### 커밋 메시지
35+
## 로컬 실행
2836

29-
- `gitmoji` 사용 - 이모지를 커밋메시지 가장 앞에 사용
30-
- 예시: `✨ Add a landing page`
37+
### 사전 준비
3138

32-
**IntelliJ 사용자:**
33-
- "Gitmoji Plus Commit Button" 플러그인 설치
34-
1. `Settings/Preferences``Plugins`
35-
2. Marketplace에서 "Gitmoji Plus Commit Button" 검색 및 설치
36-
3. 화면 좌측 상단 Commit 버튼 (혹은 cmd + 숫자0) -> gitmoji 플러그인 아이콘 클릭 후 이모지 선택, 커밋 메시지 작성, 커밋.
39+
- Java 17
40+
- Docker (MySQL, Redis)
41+
42+
### 인프라 실행
43+
44+
```bash
45+
docker-compose up -d
46+
```
47+
48+
### 애플리케이션 실행
49+
50+
```bash
51+
./gradlew bootRun
52+
```
53+
54+
기본 포트는 8080입니다.
55+
56+
## 환경 변수
57+
58+
`src/main/resources/application.yaml` 기준으로 아래 값이 필요합니다.
59+
60+
- `SPRING_MAIL_USERNAME`, `SPRING_MAIL_PASSWORD`
61+
- `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET`, `GOOGLE_REDIRECT_URI`
62+
63+
S3 설정은 `application.yaml``aws.s3` 값을 사용합니다. 필요 시 실제 운영 값으로 교체하세요.
64+
65+
## API 문서
66+
67+
Springdoc OpenAPI가 활성화되어 있습니다. 로컬 실행 후 아래 경로에서 확인할 수 있습니다.
68+
69+
- `/swagger-ui/index.html`
70+
71+
## 데이터베이스 마이그레이션
72+
73+
Flyway를 사용하며, SQL 파일은 다음 경로에 있습니다.
74+
75+
- `src/main/resources/db/migration`
76+
77+
## 폴더 구조
78+
79+
- `src/main/kotlin/com/wafflestudio/spring2025/config`: 설정 및 공통 구성
80+
- `src/main/kotlin/com/wafflestudio/spring2025/common`: 공통 모듈
81+
- `src/main/kotlin/com/wafflestudio/spring2025/common/email`: 이메일 발송 관련
82+
- `src/main/kotlin/com/wafflestudio/spring2025/common/image`: 이미지 업로드/프리사인 URL
83+
- `src/main/kotlin/com/wafflestudio/spring2025/common/exception`: 공통 예외 처리
84+
- `src/main/kotlin/com/wafflestudio/spring2025/domain`: 도메인 모듈
85+
- `src/main/kotlin/com/wafflestudio/spring2025/domain/auth`: 인증/인가
86+
- `src/main/kotlin/com/wafflestudio/spring2025/domain/user`: 사용자
87+
- `src/main/kotlin/com/wafflestudio/spring2025/domain/event`: 모임(이벤트)
88+
- `src/main/kotlin/com/wafflestudio/spring2025/domain/registration`: 참가 신청
89+
90+
## 기여자
91+
92+
| 윤찬규 | 홍지수 | 정성원 |
93+
|:-------------------------------------------------------------------------------------------------------------------:| :---: |:-------------------------------------------------------------------------------------------------------------------------------:|
94+
| <a href="https://github.com/uykhc"><img src="https://github.com/uykhc.png" width="120" alt="uykhc"/></a><br/>@uykhc | <a href="https://github.com/jaylovegood"><img src="https://github.com/jaylovegood.png" width="120" alt="jaylovegood"/></a><br/>@jaylovegood | <a href="https://github.com/cjwjeong"><img src="https://github.com/cjwjeong.png" width="120" alt="cjwjeong"/></a><br/>@cjwjeong |
95+
| events, image | auth, user | registrations, email |
96+
97+
98+
## 프론트엔드
99+
100+
프론트엔드 저장소는 https://github.com/wafflestudio/moiming-web 에서 관리됩니다.

0 commit comments

Comments
 (0)