Skip to content

KNU-HAEDAL/ZZANSUNI_BE

Repository files navigation

์ง ์ˆ˜๋‹ˆ

๋ฐฐํฌ ์ฃผ์†Œ

ํ”„๋ก ํŠธ: http://3.37.226.167/ ๋ฐฑ: http://api.reditus.site/

๋ฐ๋ชจ

GIFMaker_me GIFMaker_me (2) GIFMaker_me (1) GIFMaker_me (3) GIFMaker_me (4) GIFMaker_me (5)

์ฐธ์—ฌ

  1. [ํ•ด๋‹ฌ] ๊ถŒ๋‹ค์šด
  2. [ํ•ด๋‹ฌ] ๊ถŒ์ˆ˜ํ˜„
  3. [ํ•ด๋‹ฌ] ๊น€๊ฐ•๋ฏผ
  4. [ํ•ด๋‹ฌ] ์†ํ™์„

๊ธฐํš

๋™๊ธฐ

  • ํŒ€์› 4๋ช…์˜ ๊ณตํ†ต ๊ด€์‹ฌ์‚ฌ๋ฅผ ์ทจํ•ฉํ•˜์˜€๋‹ค. ๊ทธ๊ฒฐ๊ณผ ์ง ์ˆ˜๋‹ˆ๋ผ๋Š” ์„œ๋น„์Šค๋ฅผ ๊ธฐํšํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.
  • ์‚ฌํšŒ์— ๊ธ์ •์ ์ธ ์˜ํ–ฅ ๋ฏธ์น˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์—ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž์—๊ฒŒ ์žฌ๋ฏธ๋ฅผ ์ฃผ๋ฉด์„œ๋„, ์‚ฌํšŒ์— ๊ธ์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์—ˆ๋‹ค.

๊ธฐ๋Šฅ

1๏ธโƒฃ ์ง„ํ–‰์ƒํ™ฉ

์‚ฌ์šฉ์ž๋Š” ์ฑŒ๋ฆฐ์ง€์˜ ์ง„ํ–‰์ƒํ™ฉ์„ ๋ณผ์ˆ˜์žˆ๋‹ค.

  • ์ฃผ๋งˆ๋‹ค 4์ผ์ฐธ์—ฌํ•ด์•ผํ•˜๋Š” ์ฑŒ๋ฆฐ์ง€๋ผ๋ฉด, ์›”,ํ™”,์ˆ˜์˜ ๊ธฐ๋ก์„ ๋ณผ์ˆ˜์žˆ์–ด์•ผํ•œ๋‹ค.

2๏ธโƒฃ ๋žญํ‚น

  1. ์ง„ํ–‰์ค‘์ธ ๊ฐ ์ฑŒ๋ฆฐ์ง€ ๋ณ„, ์œ ์ €๊ฐ€ ์–ป์€ ๊ฒฝํ—˜์น˜๋กœ ์ •๋ ฌํ•ด์„œ ๋ณด์—ฌ์ฃผ๊ธฐ(์ƒ์œ„ N๋ช…๊ณผ, ์‚ฌ์šฉ์ž)
  2. ์ฐธ์—ฌ์ค‘์ธ ์‚ฌ์šฉ์ž์ˆ˜๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  3. ์ „์ฒด ๊ฒฝํ—˜์น˜ ๋žญํ‚น ๋ณด์—ฌ์ฃผ๊ธฐ(์ƒ์œ„ N๋ช…๊ณผ, ์‚ฌ์šฉ์ž)

3๏ธโƒฃ ์ฑŒ๋ฆฐ์ง€ ๊ฒŒ์‹œ

  1. ๊ด€๋ฆฌ์ž๊ฐ€ ์ฑŒ๋ฆฐ์ง€๋ฅผ ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค.
  2. ์ฑŒ๋ฆฐ์ง€์—๋Š” ์ฃผ์ œ, ์ œ๋ชฉ, ๋‚ด์šฉ, ๊ธฐ๊ฐ„(์ •๊ธฐ์ (ex๋งค์ฃผ3์ผ)/์ผํšŒ์„ฑ(ex๋‹ฌ์„ฑํ•˜๊ธฐ)), ๋ณด์ƒ์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.
    • ์ฑŒ๋ฆฐ์ง€ ์šด์˜๊ธฐ๊ฐ„์„ ๋ช…์‹œํ•ด์•ผํ•œ๋‹ค.
  3. ๋‚œ์ด๋„๋ž€ ์ฑŒ๋ฆฐ์ง€์˜ ์„ธ๋ถ€์ ์ธ ๋ชฉํ‘œ๋ฅผ ๋ถ„๋ฅ˜ํ•œ๊ฒƒ์ด๋‹ค. ์ƒ์ค‘ํ•˜๋กœ ๋ถ„๋ฅ˜๋œ๋‹ค. ๋‚œ์ด๋„์— ํ•ด๋‹นํ•˜๋Š” ๋ชฉํ‘œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
    • (์ฃผ n์ผ) / n๊ฐœ ๋‹ฌ์„ฑ

4๏ธโƒฃ ์ฑŒ๋ฆฐ์ง€ ์ฐธ์—ฌ

  1. ์ˆํผ์œผ๋กœ ์ฑŒ๋ฆฐ์ง€๋ฅผ ๋žœ๋ค์œผ๋กœ ์ œ๊ณตํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ค€๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์ฑŒ๋ฆฐ์ง€๋ฅผ ์„ ํƒํ•˜์—ฌ ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค.
  2. ์ฑŒ๋ฆฐ์ง€ ์ฐธ์—ฌ ์ธ์ฆ์—๋Š” ์‚ฌ์ง„๊ณผ ์„ค๋ช…์œผ๋กœ ์ธ์ฆํ•œ๋‹ค. (์‚ฌ์ง„์€ ์ฑŒ๋ฆฐ์ง€์˜ ์„ฑ๊ฒฉ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค)

5๏ธโƒฃ ์ฑŒ๋ฆฐ์ง€ ์ข…๋ฃŒ

  1. ์ข…๋ฃŒ๊ธฐ๊ฐ„์ด ๋˜๊ฑฐ๋‚˜ ์™„๋ฃŒํ•œ ์ฑŒ๋ฆฐ์ง€๋Š” ์ข…๋ฃŒ๋œ๋‹ค.
  2. ์ฑŒ๋ฆฐ์ง€๋ฅผ ์™„์ˆ˜ํ•œ ์‚ฌ์šฉ์ž๋Š” ์ถ”๊ฐ€ ๋ณด์ƒ์„ ๋ฐ›๋Š”๋‹ค.

์ฃผ์ œ

์ฃผ์ œ๋Š” ์—์ฝ”, ๋ด‰์‚ฌ, ์„ ํ–‰, ๋‚˜๋ˆ”, ๊ฑด๊ฐ• ์ด 5๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜ํ•˜์—ฌ ๋‚˜ํƒ€๋‚ธ๋‹ค.

1๏ธโƒฃ ์—์ฝ”

ํ™˜๊ฒฝ์— ๊ด€๋ จ๋œ ์ฑŒ๋ฆฐ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

  • ์˜ˆ๋ฅผ ๋“ค์–ด ์ „๊ธฐ ์ ˆ์•ฝ โ†’ ์–ผ๋งˆ๋‚˜ ์ ˆ์•ฝ๋˜์—ˆ๋Š”์ง€/ ๋ช‡๋ฆฌํ„ฐ๋ฅผ ์•„๊ผˆ์Šต๋‹ˆ๋‹ค.
  • ๋งค์—ฐ์˜ ๊ฐ์†Œ์™€ ๊ฐ™์€ ์ ˆ์•ฝ

2๏ธโƒฃ ์„ ํ–‰

์„ ํ–‰์— ๊ด€๋ จ๋œ ์ฑŒ๋ฆฐ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

  • ์˜ˆ๋ฅผ ๋“ค์–ด ์“ฐ๋ ˆ๊ธฐ ์ค๊ธฐ, ์•ž์‚ฌ๋žŒ์—๊ฒŒ ์ธ์‚ฌํ•˜๊ธฐ ๋“ฑ๋“ฑ

3๏ธโƒฃ ๋‚˜๋ˆ”

๋‚˜๋ˆ”์— ๊ด€๋ จ๋œ ์ฑŒ๋ฆฐ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

  • ์˜ˆ๋ฅผ ๋“ค์–ด ๋‚˜๋ฌด์ “๊ฐ€๋ฝ ๋‚˜๋ˆ”

4๏ธโƒฃ ๊ฑด๊ฐ•

๊ฑด๊ฐ•์— ๊ด€๋ จ๋œ ์ฑŒ๋ฆฐ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

  • ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฑท๊ธฐ

5๏ธโƒฃ ๋ ˆ๋ฒจ ์‹œ์Šคํ…œ

01. ์ŠคํŠธ๋ฆญ

  • ์œ ์ €์˜ ๋‚ ์งœ๋ณ„ ํ™œ๋™์„ ๊ธฐ๋กํ•œ๋‹ค. ์ด ๊ธฐ๋ก์—๋Š” ์ฑŒ๋ฆฐ์ง€ ์ฐธ๊ฐ€๊ธฐ๋ก, ์—ฐ์†์ฐธ๊ฐ€์ผ์ž๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ๋ฉ‹์žˆ๋Š” UI๋กœ ํ‘œํ˜„๋œ๋‹ค.
  • ๋‹ฌ๋งˆ๋‹ค์˜ ์ŠคํŠธ๋ฆญ์ •๋ณด๋ฅผ ๋ณผ์ˆ˜์žˆ๋‹ค.(ํŽ˜์ด์ง•)

02. ํ‹ฐ์–ด

  • ํ‹ฐ์–ด๋Š” ๋…ธ๋น„-์ƒ๋ฏผ-ํ‰๋ฏผ-์–‘๋ฐ˜-์ง„๊ณจ-์„ฑ๊ณจ-์—์ฝ”๋กœ ๊ตฌ์„ฑ๋œ๋‹ค
  • ํ‹ฐ์–ด๋ณ„ ๊ฒฝํ—˜์น˜ํ‘œ๊ฐ€ ์กด์žฌํ•œ๋‹ค.
    • ํ‹ฐ์–ด๋ณ„ 4๋‹จ๊ณ„๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
  • ํ‹ฐ์–ด ์ˆœ์„œ๋Š” 4,3,2,1 ์ˆœ์œผ๋กœ ์˜ฌ๋ผ๊ฐ„๋‹ค.

6๏ธโƒฃ ๊ฒŒ์‹œ๊ธ€

์ฑŒ๋ฆฐ์ง€

๋ฆฌ๋ทฐ ๋ฐ ํ”ผ๋“œ๋ฐฑ

  1. ์ฑŒ๋ฆฐ์ง€์˜ ๋งŒ์กฑ๋„์™€ ํ›„๊ธฐ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
  2. ๋งŒ์กฑ๋„๋Š” 1,2,3,4,5์ ์œผ๋กœ ์ค„ ์ˆ˜ ์žˆ๋‹ค.
  3. ๋งŒ์กฑ๋„๋Š” ์ฑŒ๋ฆฐ์ง€์˜ ๊ธฐ๋ก์ •๋ณด์— ์ €์žฅ๋œ๋‹ค. (๋งŒ์กฑ๋„๊ฐ€ ๋‚ฎ์€ ์ฑŒ๋ฆฐ์ง€๋Š” ๊ด€๋ฆฌ์ž๊ฐ€ ํ™•์ธํ•˜๊ณ  ์ œ์™ธํ•  ์ˆ˜ ์žˆ๋‹ค)
  4. ์ตœ๊ทผ ์ฑŒ๋ฆฐ์ง€๋งŒ์กฑ๋„๋ฅผ ๋ฉ”์ธํ™”๋ฉด์—์„œ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค, ์ฑŒ๋ฆฐ์ง€์ƒ์„ธํŽ˜์ด์ง€์—์„œ ๋ฆฌ๋ทฐ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‚˜์ค‘์— ๋„ฃ์„ ๊ธฐ๋Šฅ (V2)

1. ๋ฌธ์˜ ๊ฒŒ์‹œ๊ธ€

2. ์ฑŒ๋ฆฐ์ง€ ๋น™๊ณ  ๋„ฃ๊ธฐ

3. ์—˜๋ผ์Šคํ‹ฑ ์„œ์น˜๋กœ ์‚ฌ์šฉ์ž ๊ธฐ๋ก์„ ๋ณด๊ณ  ์ถ”์ฒœ์„œ๋น„์Šค

4. ๊ธฐ๋ก์„ ๋ฐ”ํƒ•์œผ๋กœ ์ผ๊ธฐ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ์ง ๋Œ์ด๊ฐ€ ์นญ์ฐฌํ•ด์ค˜์š”

5. ํ€ด์ฆˆ

6. ์ฑŒ๋ฆฐ์ง€ ์‹ ์„ค ์š”์ฒญ

  • ์œ ์ €๋“ค์˜ ์ฑŒ๋ฆฐ์ง€ ์š”์ฒญ ๊ฒŒ์‹œ๊ธ€์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
  • ์ถ”์ฒœ๊ธฐ๋Šฅ์ด ์กด์žฌํ•˜์—ฌ, ์‚ฌ์šฉ์ž๋“ค์˜ ์ˆ˜์š”๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

ํ–ฅํ›„ ์•„ํ‚คํ…์ณ

img.png

์ „์ฒด์ ์ธ View

img_1.png

๊ธฐ์ˆ  ์Šคํƒ

  • Frontend: React, styled-components
  • Backend: Spring, JPA, MySQL, S3

ERD

img_2.png

CLASS DIAGRAM

img_3.png

swagger ์ฃผ์†Œ

http://api.reditus.site/swagger-ui/index.html#/

Router ์„ค์ •

์ด ํ”„๋กœ์ ํŠธ๋Š” react-router-dom์˜ createBrowserRouter๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ผ์šฐํŒ…์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ผ์šฐํ„ฐ ์„ค์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

๊ธฐ๋ณธ ๊ฒฝ๋กœ ('/main'):

  • NavigateBar ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ž˜ํ•‘ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋Š” ๋ชจ๋“  ํ•˜์œ„ ๊ฒฝ๋กœ์—์„œ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ”๋ฅผ ํฌํ•จํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
  • Outlet์€ ํ•˜์œ„ ๊ฒฝ๋กœ์—์„œ ๋ Œ๋”๋ง๋  ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

ํ•˜์œ„ ๊ฒฝ๋กœ:

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

  • ๊ฒฝ๋กœ: /
  • ์ปดํฌ๋„ŒํŠธ: LoginPage

์ฑŒ๋ฆฐ์ง€ ๊ด€๋ จ ๊ฒฝ๋กœ:

  • ๊ฒฝ๋กœ: /challenge
  • ์ปดํฌ๋„ŒํŠธ: MyChallenge
    • ํ•˜์œ„ ๊ฒฝ๋กœ:
      • ์ฑŒ๋ฆฐ์ง€ ๋ชฉ๋ก:
        • ๊ฒฝ๋กœ: /challenge/list
        • ์ปดํฌ๋„ŒํŠธ: ChallengeList
      • ๊ธฐ๋ก๋œ ์ฑŒ๋ฆฐ์ง€ ๋ชฉ๋ก:
        • ๊ฒฝ๋กœ: /challenge/record-list
        • ์ปดํฌ๋„ŒํŠธ: ListRecordChallenge

์‡ผ์ธ  ์ฑŒ๋ฆฐ์ง€:

  • ๊ฒฝ๋กœ: /shorts
  • ์ปดํฌ๋„ŒํŠธ: ShortsChallenge

๋žญํ‚น ํŽ˜์ด์ง€:

  • ๊ฒฝ๋กœ: /rank
  • ์ปดํฌ๋„ŒํŠธ: RankPage

๋Œ€์‹œ๋ณด๋“œ:

  • ๊ฒฝ๋กœ: /dashboard
  • ์ปดํฌ๋„ŒํŠธ: Dashboard

์ฑŒ๋ฆฐ์ง€ ์ƒ์„ธ ํŽ˜์ด์ง€:

  • ๊ฒฝ๋กœ: /challenge-detail
  • ์ปดํฌ๋„ŒํŠธ: ChallengeDetailPage

์ฑŒ๋ฆฐ์ง€ ๊ธฐ๋ก ํŽ˜์ด์ง€:

  • ๊ฒฝ๋กœ: /challenge-record
  • ์ปดํฌ๋„ŒํŠธ: ChallengeRecordPage

๋ฆฌ๋ทฐ ์ž‘์„ฑ ํŽ˜์ด์ง€:

  • ๊ฒฝ๋กœ: /writing-reivew
  • ์ปดํฌ๋„ŒํŠธ: WritingReview

๋ฆฌ๋ทฐ ๋ชฉ๋ก ํŽ˜์ด์ง€:

  • ๊ฒฝ๋กœ: /reivew-list
  • ์ปดํฌ๋„ŒํŠธ: ReviewList

๋กœ๊ทธ์ธ ๊ด€๋ จ ๊ฒฝ๋กœ:

๋กœ๊ทธ์ธ ํŽ˜์ด์ง€:

  • ๊ฒฝ๋กœ: /login
  • ์ปดํฌ๋„ŒํŠธ: LoginPage

์นด์นด์˜ค ๋ฆฌ๋””๋ ‰ํŠธ ํŽ˜์ด์ง€:

  • ๊ฒฝ๋กœ: /login/kakao
  • ์ปดํฌ๋„ŒํŠธ: RedirectPage

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •