Skip to content

Commit 16f1cc9

Browse files
authored
Update README.md
1 parent f0a1fe4 commit 16f1cc9

1 file changed

Lines changed: 197 additions & 1 deletion

File tree

โ€ŽREADME.mdโ€Ž

Lines changed: 197 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,197 @@
1-
# Runnect-Spring-Boot-Server
1+
# Runnect-Spring-Boot-Server
2+
3+
4+
### ์ ๊ณผ ์ ์œผ๋กœ, ์ฝ”์Šค์™€ ์ฝ”์Šค๋กœ ์—ฐ๊ฒฐ๋˜๋Š” ๋„ˆ์™€ ๋‚˜์˜ ๋Ÿฌ๋‹ ๊ฒฝํ—˜
5+
![ํ‘œ์ง€](https://user-images.githubusercontent.com/88873302/212262655-0f14bae8-79d9-4aff-b52a-993694727a6a.jpg)
6+
</br>
7+
![A333](https://user-images.githubusercontent.com/88873302/212286726-608ec06a-5631-4aaf-ae7f-bf711a4ef234.jpg)
8+
9+
</aside>
10+
<hr>
11+
</br>
12+
13+
# โ˜ ์„œ๋น„์Šค ํ•ต์‹ฌ ๊ธฐ๋Šฅ
14+
### 1. ์ฝ”์Šค ๊ทธ๋ฆฌ๊ธฐ
15+
> ์ฝ”์Šค ๊ทธ๋ฆฌ๊ธฐ๋กœ ๋‹ฌ๋ฆฌ๊ธฐ ์ „ ๋ชฉํ‘œ๋ฅผ ์„ค์ •ํ•˜๊ณ  ์‹ค์‹œ๊ฐ„ ํŠธ๋ž˜ํ‚น์œผ๋กœ ์ฝ”์Šค๋ฅด ๋”ฐ๋ผ ์ž˜ ๋‹ฌ๋ฆฌ๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
16+
### 2. ์ฝ”์Šค ๋ฐœ๊ฒฌ
17+
> ์ฝ”์Šค ๋ฐœ๊ฒฌ์„ ํ†ตํ•ด ๋‚˜์—๊ฒŒ ๋งž๋Š” ์ฝ”์Šค๋ฅผ ์ถ”์ฒœ ๋ฐ›๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ์œ ์ €๊ฐ€ ๊ณต์œ ํ•œ ์ฝ”์Šค๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์Šคํฌ๋žฉํ•ฉ๋‹ˆ๋‹ค. ์ฝ”์Šค๋ฅผ ์ง์ ‘ ์—…๋กœ๋“œํ•  ์ˆ˜ ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
18+
### 3. ์ฝ”์Šค ๋ณด๊ด€ํ•จ
19+
> ์ฝ”์Šค ๋ณด๊ด€ํ•จ์—์„œ ๋‚ด๊ฐ€ ๊ทธ๋ฆฐ ์ฝ”์Šค์™€ ์Šคํฌ๋žฉ ์ฝ”์Šค๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
20+
### 4. ๋งˆ์ดํŽ˜์ด์ง€
21+
> ๋งˆ์ดํŽ˜์ด์ง€์—์„œ ํ”„๋กœํ•„๊ณผ ํ™œ๋™ ๊ธฐ๋ก, ์—…๋กœ๋“œํ•œ ์ฝ”์Šค๋ฅผ ํ™•์ธํ•˜๊ณ  ๋ชฉํ‘œ ๋ณด์ƒ์œผ๋กœ ๋™๊ธฐ๋ฅผ ๊ฐ•ํ™”ํ•ฉ๋‹ˆ๋‹ค.
22+
23+
</aside>
24+
<hr>
25+
</br>
26+
27+
28+
# ๐Ÿง‘โ€๐Ÿ”ง Tech Stack
29+
### Backend
30+
<img src="https://img.shields.io/badge/java-007396?style=for-the-badge&logo=java&logoColor=white"> <img src="https://img.shields.io/badge/springboot-6DB33F?style=for-the-badge&logo=springboot&logoColor=white"> ![JWT](https://img.shields.io/badge/JWT-black?style=for-the-badge&logo=JSON%20web%20tokens) <img src="https://img.shields.io/badge/spring data jpa-6DB33F?style=for-the-badge&logoColor=white"> <img src="https://img.shields.io/badge/hibernate-59666C?style=for-the-badge&logo=hibernate&logoColor=white"> <img src="https://img.shields.io/badge/gradle-02303A?style=for-the-badge&logo=gradle&logoColor=white">
31+
32+
### DB
33+
<img src="https://img.shields.io/badge/amazon rds-527FFF?style=for-the-badge&logo=amazonrds&logoColor=white"> <img src="https://img.shields.io/badge/postgresql-4169E1?style=for-the-badge&logo=postgresql&logoColor=white"> <img src="https://img.shields.io/badge/postGIS-4169E1?style=for-the-badge&logoColor=white"> <img src="https://img.shields.io/badge/redis-DC382D?style=for-the-badge&logo=redis&logoColor=white"> <img src="https://img.shields.io/badge/amazon s3-569A31?style=for-the-badge&logo=amazons3&logoColor=white">
34+
35+
### CI/CD
36+
<img src="https://img.shields.io/badge/aws code deploy-FF9900?style=for-the-badge&logoColor=white">
37+
38+
### Deploy
39+
<img src="https://img.shields.io/badge/amazon ec2-FF9900?style=for-the-badge&logo=amazon ec2&logoColor=white"> <img src="https://img.shields.io/badge/nginx-009639?style=for-the-badge&logo=nginx&logoColor=white">
40+
41+
42+
### Develop Tool
43+
<img src="https://img.shields.io/badge/intelliJ-000000?style=for-the-badge&logo=intellij idea&logoColor=white"> <img src="https://img.shields.io/badge/postman-FF6C37?style=for-the-badge&logo=postman&logoColor=white"> <img src="https://img.shields.io/badge/github-181717?style=for-the-badge&logo=github&logoColor=white"> <img src="https://img.shields.io/badge/git-F05032?style=for-the-badge&logo=git&logoColor=white">
44+
45+
### Communicate Tool
46+
<img src="https://img.shields.io/badge/slack-4A154B?style=for-the-badge&logo=slack&logoColor=white"> <img src="https://img.shields.io/badge/notion-000000?style=for-the-badge&logo=notion&logoColor=white">
47+
<br>
48+
<br>
49+
50+
51+
</aside>
52+
<hr>
53+
</br>
54+
55+
56+
57+
# ๐Ÿ  server architecture
58+
![image](https://github.com/Runnect/Runnect-Spring-Boot-Server/assets/65851554/4cbb080d-f715-41da-bd2a-10256ecd9023)
59+
60+
61+
</aside>
62+
<hr>
63+
</br>
64+
65+
# ๐Ÿ’ฝย DB ERD
66+
<img width="545" alt="แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2024-03-26 แ„‹แ…ฉแ„’แ…ฎ 1 15 33" src="https://github.com/Runnect/Runnect-Spring-Boot-Server/assets/65851554/c48b0966-e73d-4ec0-be08-b097c6890265">
67+
68+
69+
</aside>
70+
<hr>
71+
</br>
72+
73+
74+
# ๐Ÿ™†โ€โ™€๏ธ ์—ญํ• ๋ถ„๋‹ด
75+
76+
|๋‹ด๋‹น์ž|๋‹ด๋‹น ๋‚ด์šฉ|
77+
|:---|:---|
78+
|์œ ์ˆ˜ํ™”|EC2, publicCourse & stamp ๊ด€๋ จ api, ์ธํ”„๋ผ ๊ตฌ์ถ•|
79+
|์ „์„ ํฌ|RDS, course & user ๊ด€๋ จ api, ์ธํ”„๋ผ ๊ตฌ์ถ•|
80+
|๋ฐ•์ˆ˜๋ฆฐ|S3, record & scrap ๊ด€๋ จ api, ์ธํ”„๋ผ ๊ตฌ์ถ•|
81+
82+
83+
</aside>
84+
<hr>
85+
</br>
86+
87+
# ๐Ÿ—ฃ๏ธ๏ธ ์ปจ๋ฒค์…˜
88+
89+
> ๐Ÿ’ก **๋™๋ฃŒ๋“ค๊ณผ ๋งํˆฌ๋ฅผ ํ†ต์ผํ•˜๊ธฐ ์œ„ํ•ด ์ปจ๋ฒค์…˜์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.**
90+
> ์˜คํ•ฉ์ง€์กธ์˜ ์ฝ”๋“œ๊ฐ€ ์•„๋‹Œ, **ํ•œ ์‚ฌ๋žŒ์ด ์ง  ๊ฒƒ๊ฐ™์€ ์ฝ”๋“œ**๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ถ”ํ›„ ์œ ์ง€๋ณด์ˆ˜๋‚˜ ํ˜‘์—…์—์„œ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ƒ๊ฐํ•˜๋ฉด์„œ ์งค ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ๋ฃฐ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ด๋„ ์ข‹์Šต๋‹ˆ๋‹ค!
91+
92+
## ๐Ÿ‘ฉโ€๐Ÿ’ปย Coding Conventions
93+
94+
<details>
95+
<summary>๋ช…๋ช…๊ทœ์น™(Naming Conventions)</summary>
96+
<div markdown="1">
97+
98+
1. ์ด๋ฆ„์œผ๋กœ๋ถ€ํ„ฐ ์˜๋„๊ฐ€ ์ฝํ˜€์งˆ ์ˆ˜ ์žˆ๊ฒŒ ์“ด๋‹ค.
99+
100+
2. ๋‹จ์ˆ˜๋ฅผ ๊ธฐ๋ณธํ˜•์œผ๋กœ ํ•œ๋‹ค.
101+
102+
- ๊ธฐ๋Šฅ ์ž์ฒด์—์„œ ๋‹จ์ˆ˜, ๋ณต์ˆ˜๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ๋ณต์ˆ˜ ์‚ฌ์šฉ ex. ๋‹ค์ค‘์‚ญ์ œ, ๋‹จ์ผ์‚ญ์ œ
103+
104+
3. DB์˜ ํ…Œ์ด๋ธ”, ํด๋ž˜์Šค์—๋Š” `PascalCase`๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
105+
106+
4. ๋ณ€์ˆ˜, ๋ฉ”์†Œ๋“œ์—๋Š” `camelCase`๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
107+
108+
5. DB์˜ ํ…Œ์ด๋ธ”์˜ ์นผ๋Ÿผ์—๋Š” `snake_case`๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
109+
110+
6. ์ƒ์ˆ˜, enum์—๋Š” `UPPER_SNAKE_CASE`๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
111+
112+
7. ๋ฉ”์†Œ๋“œ๋Š” `crud + http method`(๋™์‚ฌ) + ๋ช…์‚ฌ ํ˜•ํƒœ๋กœ ์ž‘์„ฑํ•œ๋‹ค.
113+
114+
- c : ex. `createUser`
115+
- r : ex. `getUser`
116+
- u : ex. `updateUser`
117+
- d : ex. `deleteUser`
118+
119+
8. ์•ฝ์–ด ์‚ฌ์šฉ์€ ์ตœ๋Œ€ํ•œ ์ง€์–‘ํ•œ๋‹ค.
120+
121+
9. ์ด๋ฆ„์— ๋„ค ๋‹จ์–ด ์ด์ƒ์ด ๋“ค์–ด๊ฐ€๋ฉด ํŒ€์›๊ณผ ์ƒ์˜๋ฅผ ๊ฑฐ์นœ ํ›„ ์‚ฌ์šฉํ•œ๋‹ค.
122+
</div>
123+
</details>
124+
125+
<details>
126+
<summary>์ฃผ์„(Comment)</summary>
127+
<div markdown="1">
128+
129+
1. ํ•ด๋‹น ๋ฉ”์†Œ๋“œ๊ฐ€ ์–ด๋””์— ์“ฐ์ด๋Š”์ง€ ์„ค๋ช…ํ•œ๋‹ค.
130+
131+
2. ํ•ด๋‹น ๋ถ„๊ธฐ๋ฌธ์ด ์–ด๋–ค ๋ถ„๊ธฐ์ธ์ง€ ์„ค๋ช…ํ•œ๋‹ค.
132+
133+
3. ๋ฐ˜๋ณต๋ฌธ์—์„œ ์–ด๋–ค ์กฐ๊ฑด์—์„œ ๋ฐ˜๋ณต๋˜๋Š”์ง€ ์„ค๋ช…ํ•œ๋‹ค.
134+
135+
4. ์ •๋ ฌํ•˜๊ณ  ํ•„ํ„ฐ๋งํ• ๋•Œ ์–ด๋–ค ์กฐ๊ฑด์˜ ์ •๋ ฌ๊ณผ ํ•„ํ„ฐ๋ง์ธ์ง€ ์„ค๋ช…ํ•œ๋‹ค.
136+
137+
</div>
138+
</details>
139+
140+
<hr>
141+
</br>
142+
143+
## ๐ŸŒณ Branch
144+
145+
๐ŸŒฑ git branch ์ „๋žต
146+
147+
`main branch` : ์šด์˜ ์„œ๋ฒ„ ๋ฐฐํฌ ๋‹จ์œ„ branch
148+
149+
`dev branch` : ์ฃผ์š” ๊ฐœ๋ฐœ branch, main merge ์ „ ๊ฑฐ์น˜๋Š” branch, test ์„œ๋ฒ„๋กœ ๋ฐฐํฌ๋˜๋Š” branch
150+
151+
`feat branch`: ๊ฐ์ž ๊ฐœ๋ฐœ branch
152+
153+
- ํ•  ์ผ issue ๋“ฑ๋ก ํ›„ issue ๋ฒˆํ˜ธ์™€ isuue ์ด๋ฆ„์œผ๋กœ branch ์ƒ์„ฑ ํ›„ ์ž‘์—…
154+
- ex) feat/#`issue num`-`isuue name(๊ธฐ๋Šฅ์š”์•ฝ)`
155+
- ํ•ด๋‹น branch ์ž‘์—… ์™„๋ฃŒ ํ›„ PR ๋ณด๋‚ด๊ธฐ
156+
- ํ•ญ์ƒ local์—์„œ ์ถฉ๋Œ ํ•ด๊ฒฐ ํ›„ โ†’ remote์— ์˜ฌ๋ฆฌ๊ธฐ
157+
- reviewer์— ์„œ๋กœ tagํ›„ code-review
158+
- comment ์ „ merge ๋ถˆ๊ฐ€!
159+
- review๋ฐ˜์˜ ํ›„, ๋ณธ์ธ์ด merge.
160+
161+
### branch ๊ตฌ์กฐ
162+
163+
```jsx
164+
- main
165+
- dev
166+
- feat
167+
โ”œโ”€โ”€ #1-isuue name1
168+
โ””โ”€โ”€ #2-isuue name2
169+
```
170+
171+
</aside>
172+
<hr>
173+
</br>
174+
175+
## ๐Ÿงต Commit Convention
176+
177+
<aside>
178+
๐Ÿ“ git commit message convention
179+
180+
`ex) feat(๋ณ€๊ฒฝํ•œ ํŒŒ์ผ) : ๋ณ€๊ฒฝ ๋‚ด์šฉ (/#issue num)`
181+
182+
```plain
183+
- โœจ feat: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๊ตฌํ˜„
184+
- ๐Ÿ› fix: ๋ฒ„๊ทธ, ์˜ค๋ฅ˜ ํ•ด๊ฒฐ
185+
- ๐Ÿงน chore: src ๋˜๋Š” test ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜์ง€ ์•Š๋Š” ๊ธฐํƒ€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ( ์ƒˆ๋กœ์šด ํŒŒ์ผ ์ƒ์„ฑ, ํŒŒ์ผ ์ด๋™, ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋“ฑ )
186+
- โ™ป๏ธ refactor: ๋ฒ„๊ทธ ์ˆ˜์ •์ด๋‚˜ ๊ธฐ๋Šฅ ์ถ”๊ฐ€๊ฐ€ ์—†๋Š” ์ฝ”๋“œ ๋ณ€๊ฒฝ ( ์ฝ”๋“œ ๊ตฌ์กฐ ๋ณ€๊ฒฝ ๋“ฑ์˜ ๋ฆฌํŒฉํ† ๋ง )
187+
- ๐Ÿ’Ž style: ์ฝ”๋“œ์˜ ์˜๋ฏธ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ ( ์ฝ”๋“œ ํ˜•์‹, ์„ธ๋ฏธ์ฝœ๋ก  ์ถ”๊ฐ€: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ๋ณ€๊ฒฝ ์—†์Œ )
188+
- ๐Ÿ—๏ธ build: ๋นŒ๋“œ ์‹œ์Šคํ…œ ๋˜๋Š” ์™ธ๋ถ€์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ข…์†์„ฑ ( ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€ ๋“ฑ )
189+
- ๐Ÿ“ˆ perf: ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ ๋ณ€๊ฒฝ
190+
- ๐Ÿงช test: ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€ ๋˜๋Š” ์ด์ „ ํ…Œ์ŠคํŠธ ์ˆ˜์ •
191+
- ๐Ÿ“ docs: README๋‚˜ WIKI ๋“ฑ์˜ ๋ฌธ์„œ ๊ฐœ์ •
192+
- โช๏ธ revert: ์ด์ „ ์ปค๋ฐ‹์„ ๋˜๋Œ๋ฆฌ๋Š” ๊ฒฝ์šฐ
193+
- ๐Ÿ“ฆ ci: CI ๊ตฌ์„ฑ ํŒŒ์ผ ๋ฐ ์Šคํฌ๋ฆฝํŠธ ๋ณ€๊ฒฝ
194+
- Merge: ๋‹ค๋ฅธ๋ธŒ๋ Œ์น˜๋ฅผ mergeํ•˜๋Š” ๊ฒฝ์šฐ
195+
- Init : Initial commit์„ ํ•˜๋Š” ๊ฒฝ์šฐ
196+
```
197+

0 commit comments

Comments
ย (0)