Skip to content

Commit

Permalink
Create README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
ckkim817 authored Jul 9, 2024
1 parent 706b74c commit 94d907e
Showing 1 changed file with 220 additions and 0 deletions.
220 changes: 220 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,220 @@
# โ˜€๏ธ๐Ÿ’Š SEONYAK (์„ ์•ฝ)

![KakaoTalk_Photo_2024-07-09-23-14-50](https://github.com/TEAM-SEONYAK/SEONYAK-SERVER/assets/81475587/b6c2d246-3281-4a5f-9134-3c15915e69a0)

```
" ๋” ํฐ ์„ธ์ƒ์—์„œ ๊ฑธ์Œ๋งˆ๋ฅผ ๋—„ ํ›„๋ฐฐ๋“ค์ด ์„ ๋ฐฐ์˜ ์†์„ ์žก๊ณ  ๋›ธ ์ˆ˜ ์žˆ๋„๋ก "
๊ฐ™์€ ๊ณ„์—ด '์„ '๋ฐฐ์™€์˜ ์ง„๋กœ ์ƒ๋‹ด '์•ฝ'์†, ์„ ์•ฝ
ใ„ด ๊ฐ™์€ ๊ฒฝํ—˜์„ ๊ฐ€์ง„ ์„ ๋ฐฐ์™€์˜ ์ง„๋กœ ์ƒ๋‹ด์„ ํ†ตํ•ด ๋” ๋งž์ถคํ™”๋œ ์กฐ์–ธ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก
ใ„ด ๊ฐ™์€ ๊ณ„์—ด/์›ํ•˜๋Š” ์ง๋ฌด์˜ ์„ ๋ฐฐ๋ฅผ ํ„ฐ์น˜ ํ•œ๋ฒˆ์œผ๋กœ ๋” ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก
```

<br/>

## Web Backend Developers โ˜๏ธ

<div align="center">
<table>
<tr>
<td><img src="https://github.com/TEAM-SEONYAK/SEONYAK-SERVER/assets/81475587/600acc6b-2fc2-4069-b02a-a4439dc6ae0c" width="500vh"></td>
<td><img src="https://github.com/TEAM-SEONYAK/SEONYAK-SERVER/assets/81475587/7101de93-37a0-4958-87c0-769e7d8b3d5e" width="500vh"></td>
</tr>
<tr>
<td align="center"> ๊น€์ฐฝ๊ท  <a href="https://github.com/ckkim817"><img src="https://img.shields.io/badge/Github-181717?style=flat-square&logo=Github&logoColor=white"/></a></td>
<td align="center"> ํ™์„๋ฒ” <a href="https://github.com/seokbeom00"><img src="https://img.shields.io/badge/Github-181717?style=flat-square&logo=Github&logoColor=white"/></a></td>
</tr>
</table>
</div>

<br/>

๊น€์ฐฝ๊ท  - EC2, RDS ์„ธํŒ… / ์ปจ๋ฒค์…˜๋“ค ์ž‘์„ฑ / ๊ตฌ๊ธ€ ์†Œ์…œ ๋กœ๊ทธ์ธ ์—ฐ๋™ / API ๊ฐœ๋ฐœ
ํ™์„๋ฒ” - ์‘๋‹ต, ์—๋Ÿฌ ์ฒ˜๋ฆฌ๋ฅผ ํฌํ•จํ•œ ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ ์„ธํŒ… / DOCKER CI, CD ์„ธํŒ… / ๋„ค์ด๋ฒ„ OCR, ๊ตฌ๊ธ€ ๋ฏธํŠธ ํšŒ์˜์‹ค ๊ฐœ์„ค ๋“ฑ ์™ธ๋ถ€ API ์—ฐ๋™ / API ๊ฐœ๋ฐœ

<br/>

## 1. Git Convention

> **Git Flow**
<img width="838" alt="Git_Flow_Seonyak" src="https://github.com/TEAM-SEONYAK/SEONYAK-SERVER/assets/81475587/7220369b-d515-4828-b496-1c907cdc7506">

- `main` ์šด์˜์„œ๋ฒ„ ๋ธŒ๋žœ์น˜
- `hotfix` ํ•ซํ”ฝ์Šค์šฉ ๋ธŒ๋žœ์น˜
- `develop` ๊ฐœ๋ฐœ์„œ๋ฒ„ ๋ธŒ๋žœ์น˜
- `prefix/#์ด์Šˆ๋ฒˆํ˜ธ` ์ž‘์—…์„ ์ง„ํ–‰ ์ค‘์ธ ๋ธŒ๋žœ์น˜

<br/>

> **Branch Naming Rule**
- ์ด์Šˆ๋ฅผ ๋จผ์ € ์ƒ์„ฑํ•˜๊ณ  ๋ถ€์—ฌ๋ฐ›์€ ์ด์Šˆ ๋ฒˆํ˜ธ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
- **์—ฌ๊ธฐ์„œ์˜ `prefix`๋Š” ์ „๋ถ€ ์†Œ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.**

```
prefix/#์ด์Šˆ๋ฒˆํ˜ธ
ex) feat/#8
ex) fix/#17
```

<br/>

> **Commit Convention**
- **์—ฌ๊ธฐ์„œ์˜ `Prefix`๋Š” ์ „๋ถ€ ๋Œ€๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.**

```
[PREFIX/#์ด์Šˆ๋ฒˆํ˜ธ] ์ž‘์—…๋‚ด์šฉ
ex) [FEAT/#8] ๋‹จ์–ด ๋ฆฌ์ŠคํŠธ ์กฐํšŒ API ๊ตฌํ˜„
ex) [FIX/#17] ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ์˜ค๋ฅ˜ ์ˆ˜์ •
```

<br/>

> **Prefix Convention**
- **`branch`์—์„œ์˜ `prefix`๋Š” ์ „๋ถ€ ์†Œ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.**
- **`label`์€ ์ „๋ถ€ ๋Œ€๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.**
- ํ•œ commit์—์„œ๋Š” ํ•ด๋‹น prefix type์— ํ•ด๋‹นํ•˜๋Š” ๋‚ด์šฉ๋งŒ ๊ฐ–๋„๋ก commit์„ ์ตœ๋Œ€ํ•œ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

| prefix types | ์˜๋ฏธ |
| --- | --- |
| โœจย FEAT | ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€ |
| ๐Ÿ› ๏ธย FIX | ๋ฒ„๊ทธ, ์˜ค๋ฅ˜ ๋“ฑ์„ ์ˆ˜์ • |
| ๐Ÿ”€ย MERGE | ๋‹ค๋ฅธ branch์™€ ๋ณ‘ํ•ฉ |
| โš™๏ธ SETTING | ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ ์„ธํŒ… |
| ๐Ÿงฉย CHORE | ๊ธฐ๋Šฅ, ์„ฑ๋Šฅ๊ณผ ์ง์ ‘์ ์œผ๋กœ ๊ด€๋ จ์ด ์—†๋Š” ์ž‘์—…(์ดˆ๊ธฐ ์„ธํŒ… ์ดํ›„) ex) .gitignore, ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋“ฑ |
| ๐Ÿ“ย DOCS | README๋‚˜ WIKI ๋“ฑ์˜ ๋ฌธ์„œ ์ˆ˜์ • |
| โœ๏ธย CORRECT | ๋ฌธ๋ฒ• ์ƒ ์˜ค๋ฅ˜๋‚˜ ํƒ€์ž…, ๋ณ€์ˆ˜๋ช… ๋“ฑ์„ ๋ณ€๊ฒฝ |
| ๐Ÿ“‚ย FILE | ํด๋”๋ง ๋ณ€๊ฒฝ |
| ๐Ÿ”ย RENAME | ํŒŒ์ผ ์ด๋ฆ„ ๋ณ€๊ฒฝ |
| โ™ป๏ธย REFACTOR | ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง |
| โšฐ๏ธย DEL | ์“ธ๋ชจ์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ |
| ๐Ÿ’กย TEST | ํ…Œ์ŠคํŠธ ์ฝ”๋“œ, ๋ฆฌํŒฉํ† ๋ง ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ |
| ๐Ÿ”ฅย !HOTFIX | ์น˜๋ช…์ ์ธ ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ๊ธ‰ํ•˜๊ฒŒ ์ˆ˜์ • |

<br/>

> **Issue Template**
- [PREFIX] ์ด์Šˆ๋‚ด์šฉ
- **์—ฌ๊ธฐ์„œ์˜ `PREFIX`๋Š” ์ „๋ถ€ ๋Œ€๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.**

```
## ๐Ÿ’ก Issue
<!-- ์ด์Šˆ์— ๋Œ€ํ•ด ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š” -->
-
## ๐Ÿ“ To-do
<!-- ์ง„ํ–‰ํ•  ์ž‘์—…์— ๋Œ€ํ•ด ์ ์–ด์ฃผ์„ธ์š” -->
<!--
- [ ] ๋„๋ฉ”์ธ ๋ชจ๋ธ(Entity) ์ •์˜
- [ ] DTO(Record) ์ •์˜
- [ ] Repository ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์„ฑ
- [ ] Service ํด๋ž˜์Šค ์ž‘์„ฑ
- [ ] Controller ํด๋ž˜์Šค ์ž‘์„ฑ
- [ ] ๊ณตํ†ต ์‘๋‹ต ์ฒ˜๋ฆฌ ๋ฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ
- [ ] Swagger ํ…Œ์ŠคํŠธ
-->
- [ ]
```

<br/>

> **Pull Request Template**
- [PREFIX] #์ด์Šˆ๋ฒˆํ˜ธ - PR๋‚ด์šฉ
- **์—ฌ๊ธฐ์„œ์˜ `PREFIX`๋Š” ์ „๋ถ€ ๋Œ€๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.**

```
# ๐Ÿ’ก Issue
- resolved: #์ด์Šˆ๋ฒˆํ˜ธ
# ๐Ÿ“ธ Screenshot
<!-- ํ•„์š” ์‹œ ์‚ฌ์ง„, ๋™์˜์ƒ ๋“ฑ์„ ์ฒจ๋ถ€ํ•ด ์ฃผ์„ธ์š”
ex) ํฌ์ŠคํŠธ๋งจ, ์Šค์›จ๊ฑฐ, ๋กœ๊ทธ ๋“ฑ -->
# ๐Ÿ“„ Description
<!-- ์ž‘์—…ํ•œ ๋‚ด์šฉ์— ๋Œ€ํ•ด ์ƒ์„ธํ•˜๊ฒŒ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”,
์ฝ”๋“œ๋ฅผ ์ฒจ๋ถ€ํ•  ๊ฒฝ์šฐ permalink๋ฅผ ์‚ฌ์šฉํ•ด ์ฃผ์„ธ์š” -->
-
# ๐Ÿ’ฌ To Reviewers
<!-- ๋ฆฌ๋ทฐ์–ด๋“ค์—๊ฒŒ ๋‚จ๊ธฐ๊ณ  ์‹ถ์€ ๋ง์„ ์ ์–ด์ฃผ์„ธ์š”
ex) ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ฐ„ ์ฐธ๊ณ ์‚ฌํ•ญ, ์งˆ๋ฌธ ๋“ฑ -->
-
# ๐Ÿ”— Reference
<!-- ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•˜๋ฉฐ ๋„์›€์ด ๋˜์—ˆ๊ฑฐ๋‚˜, ์ฐธ๊ณ ํ–ˆ๋˜ ์•„ํ‹ฐํด๋“ค์˜ ๋งํฌ๋ฅผ ์ฒจ๋ถ€ํ•ด ์ฃผ์„ธ์š” -->
-
```

<br/>

## 2. **Package Structure**

> **Package Structure**
```
**๊ณ„์ธตํ˜• ๊ตฌ์กฐ vs ๋„๋ฉ”์ธํ˜• ๊ตฌ์กฐ**
* ๊ณ„์ธตํ˜• ๊ตฌ์กฐ ์„ ํƒ
- ๊ทœ๋ชจ๊ฐ€ ์ž‘๊ณ , ๋„๋ฉ”์ธ์ด ์ ์€ ๊ฒฝ์šฐ
- ๊ณ„์ธตํ˜• ํŒจํ‚ค์ง€ ์•ˆ์— ํด๋ž˜์Šค๋“ค์ด ๊ตฌ๋ถ„์ด ์•ˆ ๋  ๋งŒํผ ๋งŽ์•„์งˆ ๊ฒฝ์šฐ๊ฐ€ ์ ๋‹ค.
- ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ๋ฆ„ ๋ฐ ๊ฐ€๋…์„ฑ์ด ๋„๋ฉ”์ธํ˜•๋ณด๋‹ค ์ข‹๋‹ค.
- ์œ ์Šค์ผ€์ด์Šค๋ณ„๋กœ ํด๋ž˜์Šค๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ ๋‹ค.
- ๋„๋ฉ”์ธ์˜ ๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚˜๋„, ๊ทœ๋ชจ๊ฐ€ ์ž‘๊ณ  ๋„๋ฉ”์ธ์ด ์ ์€ ๋งŒํผ ๋ณ€๊ฒฝ ๋ฒ”์œ„๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ๋„“์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค.
* **๋„๋ฉ”์ธํ˜• ๊ตฌ์กฐ ์„ ํƒ**
- ๊ทœ๋ชจ๊ฐ€ ํฌ๊ณ , ๋„๋ฉ”์ธ์ด ๋งŽ์€ ๊ฒฝ์šฐ
- ๊ทœ๋ชจ๊ฐ€ ํฌ๊ณ  ๋„๋ฉ”์ธ์ด ๋งŽ์€ ๋งŒํผ ๋„๋ฉ”์ธ๋ณ„ ์‘์ง‘๋„๊ฐ€ ๋†’์€ ๊ฒƒ์ด ์ค‘์š”ํ•  ๊ฒƒ์ด๋‹ค.
- ๊ทœ๋ชจ๊ฐ€ ํฐ ๋งŒํผ ์œ ์Šค์ผ€์ด์Šค๋ณ„๋กœ ํด๋ž˜์Šค๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.
```

- ๋„๋ฉ”์ธํ˜• ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
- `Enum` ํด๋ž˜์Šค๋Š” `model` ํŒจํ‚ค์ง€ ์•ˆ์— ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

```
โ”œโ”€โ”€ build.gradle
โ”œโ”€โ”€ ๐Ÿ“‚ src/main/java/org/sopt/seonyakServer
โ”‚ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ domain
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ย entity1
โ”‚ย ย  โ”‚ โ”‚ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ย controller
โ”‚ย ย  โ”‚ โ”‚ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ย dto
โ”‚ย ย  โ”‚ย ย  โ”‚ โ”‚ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ย request
โ”‚ย ย  โ”‚ย ย  โ”‚ โ”‚ย ย  โ””โ”€โ”€ ๐Ÿ“‚ย response
โ”‚ย ย  โ”‚ โ”‚ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ย model
โ”‚ย ย  โ”‚ โ”‚ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ย repository
โ”‚ย ย  โ”‚ โ”‚ย ย  โ””โ”€โ”€ ๐Ÿ“‚ย service
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ ๐Ÿ“‚ย entity2
โ”‚ย ย  โ”‚ โ”‚ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ย controller
โ”‚ย ย  โ”‚ โ”‚ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ย dto
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ย request
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”‚ ย  โ””โ”€โ”€ ๐Ÿ“‚ย response
โ”‚ย ย  โ”‚ โ”‚ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ย model
โ”‚ย ย  โ”‚ โ”‚ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ย repository
โ”‚ย ย  โ”‚ โ”‚ย ย  โ””โ”€โ”€ ๐Ÿ“‚ย service
โ”‚ย ย  โ”‚ โ””โ”€โ”€ ๐Ÿ“‚ utils
โ”‚ย ย  โ”‚ โ”‚
โ”‚ย ย  โ”‚ โ”‚
โ”‚ย ย  โ”‚ โ”‚
โ”‚ย ย  โ”‚ โ”‚
โ”‚ย ย  โ””โ”€โ”€ ๐Ÿ“‚ global
โ”‚ ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ย auth
โ”‚ โ”‚ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ย filter
โ”‚ โ”‚ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ย jwt
โ”‚ โ”‚ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ย redis
โ”‚ โ”‚ย ย  โ””โ”€โ”€ ๐Ÿ“‚ย security
โ”‚ ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ย common
โ”‚ โ”‚ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ย dto
โ”‚ โ”‚ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ย external
โ”‚ โ”‚ย ย  โ””โ”€โ”€ ๐Ÿ“‚ย model
โ”‚ ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ย config
โ”‚ ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ย exception
โ”‚ ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ย enums
โ”‚ ย ย  โ”œโ”€โ”€ ๐Ÿ“‚ย model(CustomException)
โ”‚ ย ย  โ””โ”€โ”€ GlobalExceptionHandler.java
โ””โ”€โ”€ SeonyakServerApplication.java
```

0 comments on commit 94d907e

Please sign in to comment.