Skip to content

๐Ÿฅ”๊น€์ˆ˜์ง„|๐ŸŒฐ์ •ํ•˜๊ฒฝ|๐Ÿซ˜์ •๊ทœ์›|๐ŸŒฝ์ง„ํฌํ—Œ

Notifications You must be signed in to change notification settings

beyond-sw-camp/be21-3st-team2-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

2ํŒ€: ๊ณ ๊ตฌ๋งˆ ๋งˆ์ผ“

๊ณ ๊ฐ๊ณผ ๊ตฌ๋งค์ž๊ฐ€ ๋งˆ์ฃผํ•˜๋Š” ๋งˆ์ผ“

image

๋ชฉ์ฐจ

1. ํŒ€ ์†Œ๊ฐœ

2. ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

3. ์œ ์‚ฌ ์„œ๋น„์Šค

4. ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๋ฐ ๊ธฐ์ˆ  ์Šคํƒ

5. ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

6. ํ”„๋กœ์ ํŠธ ๊ธฐํš

7. ์ปจ๋ฒค์…˜

8. ํ”„๋กœ์ ํŠธ ๊ธฐ๋Šฅ

9. ํšŒ๊ณ 




1. ํŒ€ ์†Œ๊ฐœ

์ •๊ทœ์› ์ง„ํฌํ—Œ ์ •ํ•˜๊ฒฝ ๊น€์ˆ˜์ง„
image image image image
ํ—ค๋”/๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ์กฐํšŒ ์œ ์ €/๋ณด์•ˆ ๋ฉ”์ธ ํŽ˜์ด์ง€ ๊ฒŒ์‹œ๊ธ€ ์ „์ฒด๋ณด๊ธฐ/ ๊ธ€์“ฐ๊ธฐ



2. ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

์†Œ๊ฐœ

  • ๊ณ ๊ตฌ๋งˆ ๋งˆ์ผ“ ์€ ์ง€์—ญ ๊ธฐ๋ฐ˜ ์ค‘๊ณ  ๊ฑฐ๋ž˜ ์„œ๋น„์Šค์ธ ๋‹น๊ทผ๋งˆ์ผ“์„ ๋ชจํ‹ฐ๋ธŒ๋กœ ํ•œ ์ค‘๊ณ  ๊ฑฐ๋ž˜ ํ”Œ๋žซํผ ํด๋ก  ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๋Š” ๋ฌผํ’ˆ์„ ๋“ฑ๋กํ•˜๊ณ , ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋ฉฐ, ๊ฐ„๋‹จํ•œ ๊ฒ€์ƒ‰๊ณผ ์นดํ…Œ๊ณ ๋ฆฌ ๋ถ„๋ฅ˜๋ฅผ ํ†ตํ•ด ์›ํ•˜๋Š” ์ƒํ’ˆ์„ ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ณธ ํ”„๋กœ์ ํŠธ๋Š” ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ ๋ถ„๋ฆฌ ๊ตฌ์กฐ๋กœ ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ, ์‹ค์ œ ์„œ๋น„์Šค์™€ ์œ ์‚ฌํ•œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(UX)์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์„ ์ • ์ด์œ 

  • ์ง€์—ญ ๊ธฐ๋ฐ˜ ์ค‘๊ณ  ๊ฑฐ๋ž˜ ์„œ๋น„์Šค๋Š” ์‹ค์ œ ์‚ฌ์šฉ์ž ํ๋ฆ„์ด ๋ช…ํ™•ํ•˜๊ณ  ๊ธฐ๋Šฅ ๋‹จ์œ„๊ฐ€ ๋ถ„๋ช…ํ•˜์—ฌ ํ˜‘์—… ํ”„๋กœ์ ํŠธ์— ์ ํ•ฉํ•˜๋‹ค๊ณ  ํŒ๋‹จํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • ์ธ์ฆ, ๊ฒŒ์‹œ๊ธ€ CRUD, ๊ฒ€์ƒ‰, ํŒŒ์ผ ์—…๋กœ๋“œ ๋“ฑ ์›น ์„œ๋น„์Šค์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ ์ „๋ฐ˜์ ์œผ๋กœ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ์ œ์ž…๋‹ˆ๋‹ค.
  • ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ฐœ๋ฐœํ•จ์œผ๋กœ์จ ์‹ค์ œ ์„œ๋น„์Šค์™€ ์œ ์‚ฌํ•œ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฒฝํ—˜ํ•˜๊ณ ์ž ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • ๋Œ€์ค‘์ ์œผ๋กœ ์ต์ˆ™ํ•œ ์„œ๋น„์Šค(๋‹น๊ทผ๋งˆ์ผ“)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜์—ฌ ๊ธฐํš๊ณผ UX์— ๋Œ€ํ•œ ์ดํ•ด๋„๋ฅผ ๋†’์ด๊ณ  ๊ตฌํ˜„์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํŒ๋‹จํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ๊ธฐ๋Šฅ

๋ฉ”์ธ ํŽ˜์ด์ง€

  • ์„œ๋น„์Šค์˜ ์ „์ฒด ํ๋ฆ„์„ ํ•œ๋ˆˆ์— ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์ธ ํ™”๋ฉด ๊ตฌ์„ฑ
  • ์ตœ์‹  ๋“ฑ๋ก ์ƒํ’ˆ ๋ฐ ์ค‘๊ณ  ๊ฑฐ๋ž˜ ๋ชฉ๋ก ๋…ธ์ถœ
  • ๊ณตํ†ต ํ—ค๋” ๋ฐ ๊ฒ€์ƒ‰ ๋ฐ” ์ œ๊ณต

์ค‘๊ณ  ๊ฑฐ๋ž˜ ๊ฒŒ์‹œํŒ (์ƒํ’ˆ ๋ชฉ๋ก)

  • ๋“ฑ๋ก๋œ ์ค‘๊ณ  ๋ฌผํ’ˆ ๋ชฉ๋ก ์กฐํšŒ
  • ์นด๋“œํ˜• UI๋ฅผ ํ™œ์šฉํ•œ ์ƒํ’ˆ ์ •๋ณด ํ‘œ์‹œ
    • ์ƒํ’ˆ ์ด๋ฏธ์ง€
    • ์ œ๋ชฉ
    • ๊ฐ€๊ฒฉ
    • ๋“ฑ๋ก ์‹œ๊ฐ„
  • ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ์ƒํ’ˆ ๋ถ„๋ฅ˜ ๊ธฐ๋Šฅ

์ƒํ’ˆ ๋“ฑ๋ก ๊ธฐ๋Šฅ

  • ์‚ฌ์šฉ์ž๊ฐ€ ํŒ๋งคํ•˜๊ณ ์ž ํ•˜๋Š” ์ค‘๊ณ  ๋ฌผํ’ˆ ๋“ฑ๋ก
  • ์ƒํ’ˆ ์ •๋ณด ์ž…๋ ฅ
    • ์ œ๋ชฉ
    • ๊ฐ€๊ฒฉ
    • ์„ค๋ช…
    • ์นดํ…Œ๊ณ ๋ฆฌ
  • ๋“ฑ๋ก ์™„๋ฃŒ ์‹œ ๋ชฉ๋ก ํŽ˜์ด์ง€์— ์ฆ‰์‹œ ๋ฐ˜์˜

๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ

  • ํ‚ค์›Œ๋“œ ๊ธฐ๋ฐ˜ ์ƒํ’ˆ ๊ฒ€์ƒ‰
  • ์ œ๋ชฉ ๊ธฐ์ค€ ๊ฒ€์ƒ‰์„ ํ†ตํ•œ ์›ํ•˜๋Š” ์ƒํ’ˆ ๋น ๋ฅธ ํƒ์ƒ‰
  • ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์— ๋”ฐ๋ฅธ ์ƒํ’ˆ ๋ชฉ๋ก ๋™์  ๋ Œ๋”๋ง

๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ

  • ์‚ฌ์šฉ์ž ์ธ์ฆ์„ ์œ„ํ•œ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • ๋กœ๊ทธ์ธ ์ƒํƒœ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ์ ‘๊ทผ ์ œ์–ด
    • ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž๋งŒ ์ƒํ’ˆ ๋“ฑ๋ก ๊ฐ€๋Šฅ
  • ์ธ์ฆ ์ •๋ณด ๊ธฐ๋ฐ˜ ์‚ฌ์šฉ์ž ์‹๋ณ„



3. ์œ ์‚ฌ ์„œ๋น„์Šค

๋‹น๊ทผ ๋งˆ์ผ“

  • ์ง€์—ญ ์ธ์ฆ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์ค‘๊ณ  ๊ฑฐ๋ž˜ ํ”Œ๋žซํผ์œผ๋กœ, ๋™๋„ค ์ค‘์‹ฌ์˜ ๊ฑฐ๋ž˜ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ์ง๊ด€์ ์ธ UI์™€ ๊ฐ„๋‹จํ•œ ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ ํ๋ฆ„์œผ๋กœ ์‚ฌ์šฉ์ž ์ ‘๊ทผ์„ฑ์ด ๋†’์€ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.
  • ์ฑ„ํŒ…, ๊ด€์‹ฌ ์ƒํ’ˆ, ์นดํ…Œ๊ณ ๋ฆฌ ๋ถ„๋ฅ˜ ๋“ฑ ์ค‘๊ณ  ๊ฑฐ๋ž˜์— ์ตœ์ ํ™”๋œ ๊ธฐ๋Šฅ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.



## 4. ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๋ฐ ๊ธฐ์ˆ  ์Šคํƒ

Backend

  • Java
  • Spring Boot
  • Spring Security
  • MariaDB
  • Redis
  • MinIO

Frontend

  • Vue.js
  • Axios

IDE & Tools

  • IntelliJ IDEA
  • Git

Collaboration

  • GitHub
  • Jira
  • Notion
  • Discord



5. ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

Back-end ๊ตฌ์กฐ

image

Front-end ๊ตฌ์กฐ

image


6. ํ”„๋กœ์ ํŠธ ๊ธฐํš

์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ

image

์Šคํ† ๋ฆฌ๋ณด๋“œ(figma)

๋” ๋ณด๊ธฐ
image image image image image image image image image image image image image

ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค

image

ํ™”๋ฉด๊ตฌํ˜„์ฝ”๋“œ์†Œ์Šค

image


7. ์ปจ๋ฒค์…˜

Back-end

๊ณตํ†ต ์‚ฌํ•ญ

  • ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ(service ๋ฉ”์†Œ๋“œ ๋ณ„๋กœ) : Junit ์‚ฌ์šฉ
  • ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์•Œ์•„๋ณด๊ธฐ ์‰ฝ๋„๋ก ์ฃผ์„์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ง€๋ผ ํ‹ฐ์ผ“ ์ƒ์„ฑํ•˜๊ณ  ์ž‘์—… ์‹œ์ž‘ํ•ฉ์‹œ๋‹ค.
  • ์‚ฌ์šฉ ๋‚ด์—ญ ๊ฐ™์€ ๋กœ๊ทธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž˜ ๋‚จ๊ฒจ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ๊ทœ์น™

Code Convention

Naming
  • ํŒจํ‚ค์ง€ : ์–ธ๋”์Šค์ฝ”์–ด(_)๋‚˜ ๋Œ€๋ฌธ์ž๋ฅผ ์„ž์ง€ ์•Š๊ณ  ์†Œ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ํด๋ž˜์Šค : ํด๋ž˜์Šค ์ด๋ฆ„์€ ๋ช…์‚ฌ๋‚˜ ๋ช…์‚ฌ์ ˆ๋กœ ์ง€์œผ๋ฉฐ, ๋Œ€๋ฌธ์ž ์นด๋ฉœํ‘œ๊ธฐ๋ฒ•(Upper camel case)์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฉ”์„œ๋“œ : ๋ฉ”์„œ๋“œ ์ด๋ฆ„์€ ๋™์‚ฌ/์ „์น˜์‚ฌ๋กœ ์‹œ์ž‘ํ•˜๋ฉฐ, ์†Œ๋ฌธ์ž ์นด๋ฉœํ‘œ๊ธฐ๋ฒ•(Lower camel case)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜๋„๊ฐ€ ์ „๋‹ฌ๋˜๋„๋ก ์ตœ๋Œ€ํ•œ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณ€์ˆ˜ : ์†Œ๋ฌธ์ž ์นด๋ฉœํ‘œ๊ธฐ๋ฒ•(Lower camel case)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ENUM, ์ƒ์ˆ˜ : ์ƒํƒœ๋ฅผ ๊ฐ€์ง€์ง€ ์•Š๋Š” ์ž๋ฃŒํ˜•์ด๋ฉด์„œ static final๋กœ ์„ ์–ธ๋˜์–ด ์žˆ๋Š” ํ•„๋“œ์ผ ๋•Œ๋ฅผ ์ƒ์ˆ˜๋กœ ๊ฐ„์ฃผํ•˜๋ฉฐ, ๋Œ€๋ฌธ์ž์™€ ์–ธ๋”์Šค์ฝ”์–ด(Upper_snake_case)๋กœ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • DB ํ…Œ์ด๋ธ”: ์†Œ๋ฌธ์ž์™€ ์–ธ๋”์Šค์ฝ”์–ด๋กœ(lower_snake_case) ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ์ปฌ๋ ‰์…˜(Collection): ๋ณต์ˆ˜ํ˜•์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์ปฌ๋ ‰์…˜์„ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค. (Ex. userList, users, userMap)
  • LocalDateTime: ์ ‘๋ฏธ์‚ฌ์— Date๋ฅผ ๋ถ™์ž…๋‹ˆ๋‹ค.
Comment

1. ํ•œ์ค„ ์ฃผ์„์€ // ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

// ํ•˜์ด~

2. Bracket ์‚ฌ์šฉ ์‹œ ๋‚ด๋ถ€์— ์ฃผ์„์„ ์ž‘์„ฑํ•œ๋‹ค.

/*
   ํ•˜์ด~!
*/

3. ์ฃผ์š” ํ•จ์ˆ˜์— ๋Œ€ํ•œ ์ฃผ์„

/*
 * ์ž…๋ ฅ : ์ธ๋ฑ์Šค:Long
 * ๊ธฐ๋Šฅ : ์œ ์ € ์ธ๋ฑ์Šค๋กœ db์— ์ ‘๊ทผํ•ด ์œ ์ € ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค
 * ์ถœ๋ ฅ : ์œ ์ €:User
 */
public User getUser(Long idx)
Import

1. ์†Œ์ŠคํŒŒ์ผ๋‹น 1๊ฐœ์˜ ํƒ‘๋ ˆ๋ฒจ ํด๋ž˜์Šค๋ฅผ ๋‹ด๊ธฐ

ํƒ‘๋ ˆ๋ฒจ ํด๋ž˜์Šค(Top level class)๋Š” ์†Œ์Šค ํŒŒ์ผ์— 1๊ฐœ๋งŒ ์กด์žฌํ•ด์•ผ ํ•œ๋‹ค. ( ํƒ‘๋ ˆ๋ฒจ ํด๋ž˜์Šค ์„ ์–ธ์˜ ์ปดํŒŒ์ผํƒ€์ž„ ์—๋Ÿฌ ์ฒดํฌ์— ๋Œ€ํ•ด์„œ๋Š” Java Language Specification 7.6 ์ฐธ์กฐ )

2. static import์—๋งŒ ์™€์ผ๋“œ ์นด๋“œ ํ—ˆ์šฉ

ํด๋ž˜์Šค๋ฅผ importํ• ๋•Œ๋Š” ์™€์ผ๋“œ์นด๋“œ(*) ์—†์ด ๋ชจ๋“  ํด๋ž˜์Šค๋ช…์„ ๋‹ค ์“ด๋‹ค. static import์—์„œ๋Š” ์™€์ผ๋“œ์นด๋“œ๋ฅผ ํ—ˆ์šฉํ•œ๋‹ค.

3. ์• ๋„ˆํ…Œ์ด์…˜ ์„ ์–ธ ํ›„ ์ƒˆ์ค„ ์‚ฌ์šฉ

ํด๋ž˜์Šค, ์ธํ„ฐํŽ˜์ด์Šค, ๋ฉ”์„œ๋“œ, ์ƒ์„ฑ์ž์— ๋ถ™๋Š” ์• ๋„ˆํ…Œ์ด์…˜์€ ์„ ์–ธ ํ›„ ์ƒˆ์ค„์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ด ์œ„์น˜์—์„œ๋„ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์—†๋Š” ์• ๋„ˆํ…Œ์ด์…˜ 1๊ฐœ๋Š” ๊ฐ™์€ ์ค„์— ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค.

4. ๋ฐฐ์—ด์—์„œ ๋Œ€๊ด„ํ˜ธ๋Š” ํƒ€์ž… ๋’ค์— ์„ ์–ธ

๋ฐฐ์—ด ์„ ์–ธ์— ์˜ค๋Š” ๋Œ€๊ด„ํ˜ธ([])๋Š” ํƒ€์ž…์˜ ๋ฐ”๋กœ ๋’ค์— ๋ถ™์ธ๋‹ค. ๋ณ€์ˆ˜๋ช… ๋’ค์— ๋ถ™์ด์ง€ ์•Š๋Š”๋‹ค.

5. longํ˜• ๊ฐ’์˜ ๋งˆ์ง€๋ง‰์— L๋ถ™์ด๊ธฐ

longํ˜•์˜ ์ˆซ์ž์—๋Š” ๋งˆ์ง€๋ง‰์— ๋Œ€๋ฌธ์ž 'Lโ€™์„ ๋ถ™์ธ๋‹ค. ์†Œ๋ฌธ์ž 'lโ€™๋ณด๋‹ค ์ˆซ์ž '1โ€™๊ณผ์˜ ์ฐจ์ด๊ฐ€ ์ปค์„œ ๊ฐ€๋…์„ฑ์ด ๋†’์•„์ง„๋‹ค.

URL

URL

URL์€ RESTful API ์„ค๊ณ„ ๊ฐ€์ด๋“œ์— ๋”ฐ๋ผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • HTTP Method๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋Š” get, put ๋“ฑ์˜ ํ–‰์œ„๋Š” url์— ํ‘œํ˜„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋งˆ์ง€๋ง‰์— / ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • _ ๋Œ€์‹  -๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์†Œ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ํ™•์žฅ์ž๋Š” ํฌํ•จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Commit Convention

Rules

1. Git Flow

์ž‘์—… ์‹œ์ž‘ ์‹œ ์„ ํ–‰๋˜์–ด์•ผ ํ•  ์ž‘์—…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. issue๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  2. feature branch๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  3. add โ†’ commit โ†’ push โ†’ pull request ๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  4. pull request๋ฅผ develop branch๋กœ merge ํ•ฉ๋‹ˆ๋‹ค.
  5. ์ด์ „์— merge๋œ ์ž‘์—…์ด ์žˆ์„ ๊ฒฝ์šฐ ๋‹ค๋ฅธ branch์—์„œ ์ง„ํ–‰ํ•˜๋˜ ์ž‘์—…์— merge๋œ ์ž‘์—…์„ pull ๋ฐ›์•„์˜ต๋‹ˆ๋‹ค.
  6. ์ข…๋ฃŒ๋œ issue์™€ pull request์˜ label์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

2. IntelliJ

IntelliJ๋กœ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ, ์ž‘์—… ์‹œ์ž‘ ์‹œ ์„ ํ–‰๋˜์–ด์•ผ ํ•  ์ž‘์—…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ๊นƒํ—ˆ๋ธŒ ํ”„๋กœ์ ํŠธ ์ €์žฅ์†Œ์—์„œ issue๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  2. IntelliJ์˜ git ํƒญ โ†’ local develop branch ์šฐํด๋ฆญ โ†’ update ๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  3. IntelliJ์˜ git ํƒญ โ†’ local develop branch ์šฐํด๋ฆญ โ†’ new branch from โ€˜developโ€™ ์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  4. ์ƒ์„ฑํ•œ issue ๋ฒˆํ˜ธ์— ๋งž๋Š” feature branch๋ฅผ ์ƒ์„ฑํ•จ๊ณผ ๋™์‹œ์— feature branch๋กœ checkout ํ•ฉ๋‹ˆ๋‹ค.
  5. feature branch์—์„œ issue ๋‹จ์œ„ ์ž‘์—…์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  6. ์ž‘์—… ์™„๋ฃŒ ํ›„, add โ†’ commit์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  7. push ํ•˜๊ธฐ ์ „, remote develop branch์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด 2๋ฒˆ ๊ณผ์ •์„ ๋‹ค์‹œ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  8. IntelliJ์˜ git ํƒญ โ†’ local develop branch ์šฐํด๋ฆญ โ†’ merge โ€˜developโ€™ into โ€˜4๋ฒˆ ๊ณผ์ •์—์„œ ์ƒ์„ฑํ•œ feature branchโ€™ ๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  9. ๋งŒ์•ฝ ์ฝ”๋“œ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜์˜€๋‹ค๋ฉด, IntelliJ์—์„œ ์ฝ”๋“œ ์ถฉ๋Œ์„ ํ•ด๊ฒฐํ•˜๊ณ  add โ†’ commit์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  10. push โ†’ pull request (feature branch โ†’ develop branch) ๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  11. pull request๊ฐ€ ์ž‘์„ฑ๋˜๋ฉด ์ž‘์„ฑ์ž ์ด์™ธ์˜ ๋‹ค๋ฅธ ํŒ€์›์ด code review๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  12. ์ตœ์†Œ ํ•œ ๋ช… ์ด์ƒ์˜ ํŒ€์›์—๊ฒŒ code review์™€ approve๋ฅผ ๋ฐ›์€ ๊ฒฝ์šฐ pull request ์ƒ์„ฑ์ž๊ฐ€ merge๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  13. ์ข…๋ฃŒ๋œ issue์™€ pull request์˜ label๊ณผ milestone์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

3. Etc

์ค€์ˆ˜ํ•ด์•ผ ํ•  ๊ทœ์น™์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. develop branch์—์„œ์˜ ์ž‘์—…์€ ์›์น™์ ์œผ๋กœ ๊ธˆ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, README ์ž‘์„ฑ์€ develop branch์—์„œ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  2. commit, push, merge, pull request ๋“ฑ ๋ชจ๋“  ์ž‘์—…์€ ์˜ค๋ฅ˜ ์—†์ด ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š” ์ง€ ํ™•์ธ ํ›„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
Branch

1. Branch

branch๋Š” ์ž‘์—… ๋‹จ์œ„ & ๊ธฐ๋Šฅ ๋‹จ์œ„๋กœ ์ƒ์„ฑํ•˜๋ฉฐ ์ด๋Š” issue๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

2. Branch Naming Rule

branch๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์ „ issue๋ฅผ ๋จผ์ € ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. issue ์ž‘์„ฑ ํ›„ ์ƒ์„ฑ๋˜๋Š” ๋ฒˆํ˜ธ์™€ domain ๋ช…์„ ์กฐํ•ฉํ•˜์—ฌ branch์˜ ์ด๋ฆ„์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.ย <Prefix>/<JiraEpicNumber>-<Domain>ย ์˜ ์–‘์‹์„ ์ค€์ˆ˜ํ•ฉ๋‹ˆ๋‹ค.

3. Prefix

  • mainย : ๊ฐœ๋ฐœ์ด ์™„๋ฃŒ๋œ ์‚ฐ์ถœ๋ฌผ์ด ์ €์žฅ๋  ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค.
  • develop: feature branch์—์„œ ๊ตฌํ˜„๋œ ๊ธฐ๋Šฅ๋“ค์ด merge๋  default branch ์ž…๋‹ˆ๋‹ค.
  • feature: ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” branch ์ž…๋‹ˆ๋‹ค. ์ด์Šˆ ๋ณ„ & ์ž‘์—… ๋ณ„๋กœ branch๋ฅผ ์ƒ์„ฑ ํ›„ ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋ฉฐ naming์€ ์†Œ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

4. Domain

  • approval, attendance, auth, security, comm, alarm, resource, error, config

5. Etc

  • feature/APPR-2-approval, feature/APPR-1-config
Issue

1. Issue

์ž‘์—… ์‹œ์ž‘ ์ „ issue ์ƒ์„ฑ์ด ์„ ํ–‰๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. issue ๋Š” ์ž‘์—… ๋‹จ์œ„ & ๊ธฐ๋Šฅ ๋‹จ์œ„๋กœ ์ƒ์„ฑํ•˜๋ฉฐ ์ƒ์„ฑ ํ›„ ํ‘œ์‹œ๋˜๋Š” issue number ๋ฅผ ์ฐธ์กฐํ•˜์—ฌ branch ์ด๋ฆ„๊ณผ commit message๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

issue ์ œ๋ชฉ์—๋Š” ๊ธฐ๋Šฅ์˜ ๋Œ€ํ‘œ์ ์ธ ์„ค๋ช…์„ ์ ๊ณ  ๋‚ด์šฉ์—๋Š” ์„ธ๋ถ€์ ์ธ ๋‚ด์šฉ ๋ฐ ์ž‘์—… ์ง„ํ–‰ ์ƒํ™ฉ์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

issue ์ƒ์„ฑ ์‹œ github ์˜ค๋ฅธํŽธ์˜ assignee, label์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. assignee๋Š” ํ•ด๋‹น issue ๋‹ด๋‹น์ž, label์€ ์ž‘์—… ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

2. Issue Naming Rule

[<Prefix>] <Description>ย ์˜ ์–‘์‹์„ ์ค€์ˆ˜ํ•˜๋˜, prefix๋Š” commit message convention์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

3. Etc

[feat] ์•ฝ์† ์žก๊ธฐ API ๊ตฌํ˜„
[chore] spring data JPA ์˜์กด์„ฑ ์ถ”๊ฐ€
Commit

1. Commit Message Convention

[<Prefix>] #<Issue_Number> <Description>ย ์˜ ์–‘์‹์„ ์ค€์ˆ˜ํ•ฉ๋‹ˆ๋‹ค.

  • featย : ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๊ตฌํ˜„ย [feat] #11 ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ API ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • fixย : ์ฝ”๋“œ ์˜ค๋ฅ˜ ์ˆ˜์ •ย [fix] #10 ํšŒ์›๊ฐ€์ž… ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์˜ค๋ฅ˜ ์ˆ˜์ •
  • delย : ์“ธ๋ชจ์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œย [del] #12 ๋ถˆํ•„์š”ํ•œ import ์ œ๊ฑฐ
  • docsย : README๋‚˜ wiki ๋“ฑ์˜ ๋ฌธ์„œ ๊ฐœ์ •ย [docs] #14 ๋ฆฌ๋“œ๋ฏธ ์ˆ˜์ •
  • refactorย : ๋‚ด๋ถ€ ๋กœ์ง์€ ๋ณ€๊ฒฝ ํ•˜์ง€ ์•Š๊ณ  ๊ธฐ์กด์˜ ์ฝ”๋“œ๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ๋ฆฌํŒฉํ„ฐ๋งย [refactor] #15 ์ฝ”๋“œ ๋กœ์ง ๊ฐœ์„ 
  • choreย : ์˜์กด์„ฑ ์ถ”๊ฐ€, yml ์ถ”๊ฐ€์™€ ์ˆ˜์ •, ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ, ํŒŒ์ผ ์ด๋™ [chore] #21 yml ์ˆ˜์ •, [chore] #22 lombok ์˜์กด์„ฑ ์ถ”๊ฐ€
  • test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ, ์ˆ˜์ • [test] #20 ๋กœ๊ทธ์ธ API ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ
  • style : ์ฝ”๋“œ์— ๊ด€๋ จ ์—†๋Š” ์ฃผ์„ ๋‹ฌ๊ธฐ, ์ค„๋ฐ”๊ฟˆ
Pull Request

1. Pull Request

develop & main branch๋กœ mergeํ•  ๋•Œ์—๋Š” pull request๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. pull request์˜ ๋‚ด์šฉ์—๋Š” ๋ณ€๊ฒฝ๋œ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค.

2. Pull Request Naming Rule

[<Prefix>] <Description>ย ์˜ ์–‘์‹์„ ์ค€์ˆ˜ํ•˜๋˜, prefix๋Š” commit message convention์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

3. Etc

[feat] ์•ฝ์† ์žก๊ธฐ API ๊ตฌํ˜„
[chore] spring data JPA ์˜์กด์„ฑ ์ถ”๊ฐ€



9. ํšŒ๊ณ 

์ •๊ทœ์›
ํ”„๋ก ํŠธ๋กœ์„œ Vue๋Š” ์ฒ˜์Œ ๊ฒฝํ—˜ํ•œ ๋ถ€๋ถ„์ด๋ผ ์‚ด์ง ์ต์ˆ™ํ•˜์ง€ ์•Š๊ณ  ์–ด๋ ค์›€์ด ๋งŽ์•˜์—ˆ๋Š”๋ฐ, ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ํ•œ์ธฐ ๋” ์ต์ˆ™ํ•ด์ง„ ๊ณ„๊ธฐ๊ฐ€ ๋˜์—ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์ง„ํฌํ—Œ
์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ JWT ๊ธฐ๋ฐ˜ ๋ณด์•ˆ ์‹œ์Šคํ…œ์„ ์ง์ ‘ ๊ตฌํ˜„ํ–ˆ๋‹ค. ์ฒ˜์Œ ๋„์ „ํ•ด๋ณด๋Š” ๋ณด์•ˆ ์˜์—ญ์ด์—ˆ๊ธฐ์— Access Token๊ณผ Refresh Token์˜ ์—ญํ• ๊ณผ ์ฐจ์ด๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ–ˆ๊ณ , Access Token์€ ํƒˆ์ทจ ์‹œ ํ”ผํ•ด๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์งง์€ ์ˆ˜๋ช…์„ ๊ฐ€์ ธ์•ผ ํ•˜๋ฉฐ Refresh Token์€ ์žฆ์€ ์žฌ๋กœ๊ทธ์ธ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ƒ๋Œ€์ ์œผ๋กœ ๊ธด ์ˆ˜๋ช…์„ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค๋Š” ์ , ๊ทธ๋ฆฌ๊ณ  TTL(Time To Live)์ด ํ† ํฐ์˜ ์œ ํšจ ๊ธฐ๊ฐ„์„ ์„œ๋ฒ„ ์ฐจ์›์—์„œ ํ†ต์ œํ•˜๋Š” ํ•ต์‹ฌ ๊ฐœ๋…์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ์„ค๊ณ„ ๊ณผ์ •์—์„œ๋Š” ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ, ๋กœ๊ทธ์•„์›ƒ ๋กœ์ง์„ ํ•˜๋‚˜์˜ ์ปจํŠธ๋กค๋Ÿฌ์™€ ์„œ๋น„์Šค์— ๋‘๋Š” ๊ฒƒ์ด ๊ณผ์—ฐ ์ ์ ˆํ•œ๊ฐ€๋ผ๋Š” ๊ณ ๋ฏผ์„ ํ•˜๊ฒŒ ๋˜์—ˆ๊ณ , ์‚ฌ์šฉ์ž ๋„๋ฉ”์ธ๊ณผ ์ธ์ฆ ๋„๋ฉ”์ธ์„ user์™€ auth๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์—ญํ• ๊ณผ ์ฑ…์ž„ ์ธก๋ฉด์—์„œ ๋” ๋ฐ”๋žŒ์งํ•˜๋‹ค๋Š” ํŒ๋‹จ์— ์ด๋ฅด๋ €๋‹ค. ๋กœ๊ทธ์•„์›ƒ์„ ๋‹จ์ˆœํžˆ โ€œํ† ํฐ์„ ์‚ญ์ œํ•˜๋Š” ํ–‰์œ„โ€๋กœ ์ƒ๊ฐํ–ˆ์ง€๋งŒ, JWT๋Š” ์ด๋ฏธ ๋ฐœ๊ธ‰๋œ ํ† ํฐ์„ ์„œ๋ฒ„์—์„œ ์ง์ ‘ ํšŒ์ˆ˜ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ตฌ์กฐ์  ํ•œ๊ณ„๋ฅผ ๊ฐ€์ง„๋‹ค๋Š” ์ ์„ ์ดํ•ดํ•˜๊ฒŒ ๋˜์—ˆ๊ณ , ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Redis์— Blacklist๋ฅผ ์ €์žฅํ•˜์—ฌ Access Token์˜ ๋‚จ์€ TTL ๋™์•ˆ๋งŒ ์š”์ฒญ์„ ์ฐจ๋‹จํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋กœ๊ทธ์•„์›ƒ์„ ๊ตฌํ˜„ํ–ˆ๋‹ค.
์ •ํ•˜๊ฒฝ
์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ SearchBar, ๋™์ž‘ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์ ์šฉ๋œ ํ…์ŠคํŠธ, ์ค‘๊ณ ๊ฑฐ๋ž˜ ์•„์ด์ฝ˜(Buy/Sell) ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ , ์ด๋ฅผ MainPage์— ์ ์šฉํ•œ ๋’ค ๋ผ์šฐํ„ฐ ์—ฐ๊ฒฐ๊นŒ์ง€ ์ง„ํ–‰ํ•จ.

์ดˆ๊ธฐ์—๋Š” HTML, JavaScript, CSS๋ฅผ ํ•˜๋‚˜์˜ ํŒŒ์ผ์— ์ž‘์„ฑํ•˜๋ ค ํ–ˆ์œผ๋‚˜, ํŒ€์›์˜ ๊ถŒ์œ ๋กœ ์ปดํฌ๋„ŒํŠธ ๋‹จ์œ„๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ฐœ๋ฐœํ•˜๊ฒŒ ๋˜์—ˆ์Œ. ๊ทธ ๊ณผ์ •์—์„œ ํŽ˜์ด์ง€๋Š” pages, ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ UI๋Š” components๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๊ตฌ์กฐ๊ฐ€ ์œ ์ง€๋ณด์ˆ˜ ์ธก๋ฉด์—์„œ ์œ ๋ฆฌํ•˜๋‹ค๋Š” ์ ์„ ์ฒด๊ฐํ•จ.

๋˜ํ•œ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ ๋‹จ๊ณ„์—์„œ ๋ผ์šฐํ„ฐ ๊ตฌ์กฐ๋ฅผ ๋ฏธ๋ฆฌ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜์—ฌ, ์ดํ›„ ๋ผ์šฐํ„ฐ๋ฅผ ์ ์šฉํ•˜๋Š” ๊ณผ์ •์—์„œ ์–ด๋ ค์›€์„ ๊ฒช์—ˆ์Œ. ์ด ๊ฒฝํ—˜์„ ํ†ตํ•ด ์ดˆ๊ธฐ์— ๋ผ์šฐํ„ฐ๋ฅผ ์„ค๊ณ„ํ•ด ๋‘๋Š” ๊ฒƒ์ด ์ „์ฒด ํ™”๋ฉด ํ๋ฆ„์„ ์ดํ•ดํ•˜๊ณ  ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•˜๋‹ค๋Š” ์ ์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Œ.

๊น€์ˆ˜์ง„
์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด์„œ, vue๋ผ๋Š” ๊ฒƒ์„ ์ฒ˜์Œ ์จ๋ดค๋Š”๋ฐ, ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€๊ฐ€ ๋‹จ์ผ ํŒŒ์ผ๋กœ ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ๋กœ ์กฐํ•ฉ๋˜์–ด ํ™”๋ฉด์„ ๋งŒ๋“ ๋‹ค๋Š” ์ ์ด ์ธ์ƒ๊นŠ์—ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ์ปดํฌ๋„ŒํŠธ ๊ตฌ์กฐ์™€ ๋ฐ์ดํ„ฐ ํ๋ฆ„์ด ์ต์ˆ™ํ•˜์ง€ ์•Š์•„ ์–ด์ƒ‰ํ•จ์„ ๋А๊ผˆ์ง€๋งŒ, ๊ธฐ๋Šฅ๋ณ„๋กœ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ถ„๋ฆฌํ•˜๋ฉด์„œ ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’์•„์ง„๋‹ค๋Š” ์žฅ์ ์„ ์ฒด๊ฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋˜ํ•œ, ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์€ ๋‹จ์ˆœํžˆ ํ™”๋ฉด์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ปดํฌ๋„ŒํŠธ ๊ตฌ์กฐ์™€ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์„ค๊ณ„ํ•˜๋Š” ๊ณผ์ •์ด๋ผ๋Š” ๊ฒƒ์„ ๋А๊ผˆ๋‹ค.
# be21-3st-team2-project

About

๐Ÿฅ”๊น€์ˆ˜์ง„|๐ŸŒฐ์ •ํ•˜๊ฒฝ|๐Ÿซ˜์ •๊ทœ์›|๐ŸŒฝ์ง„ํฌํ—Œ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published