Skip to content

miyounlee/board-project

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๊ฒŒ์‹œํŒ ๊ด€๋ฆฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

  • ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„: 23.07.10 ~ 07.21 (2 week)
  • ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ: Spring Boot + JDK11 + Gradle + MySQL
    • ๋ฉ”์ธ ์„œ๋ฒ„: Data JPA + Spring Security + JWT
    • ๊ด€๋ฆฌ์ž ์„œ๋ฒ„: MyBatis
  • ํŒ€ ๊ตฌ์„ฑ: ์ •ํ˜„์ˆ˜, ์„ฑ๊ทœ์ฐฝ, ๊น€์ง€๋‚˜, ์ด๋ฏธ์—ฐ

โœ… ํ”„๋กœ์ ํŠธ ์š”๊ตฌ์‚ฌํ•ญ

๋กœ๊ทธ์ธ, ํšŒ์›๊ฐ€์ž…, ํšŒ์› ์ •๋ณด

  • [ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€]
    • ํšŒ์›๊ฐ€์ž… ๊ตฌํ˜„ (id, username, password, email, nickName, role, createdAt, updatedAt)
    • ๋™์ผ username ์ค‘๋ณต์ฒดํฌ
    • role์€ ์ƒˆ์‹น ํšŒ์›๊ณผ ์šฐ์ˆ˜ํšŒ์›์œผ๋กœ ๊ตฌ๋ถ„ (๋””ํดํŠธ : ์ƒˆ์‹นํšŒ์›, ๊ฒŒ์‹œ๊ธ€ ์ˆ˜ 10 ๊ฐœ ์ด์ƒ ์šฐ์ˆ˜ ํšŒ์›)
  • [๋กœ๊ทธ์ธ ํŽ˜์ด์ง€] ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (username, password)
  • [ํšŒ์›์ •๋ณด ํŽ˜์ด์ง€] username, email, role, createdAt ํ™•์ธ
  • [๋น„๋ฐ€๋ฒˆํ˜ธ ์ˆ˜์ • ํŽ˜์ด์ง€] ๋น„๋ฐ€๋ฒˆํ˜ธ ์ˆ˜์ • ๊ตฌํ˜„

๊ฒŒ์‹œํŒ

  • ์ƒˆ์‹นํšŒ์› ๊ฒŒ์‹œํŒ, ์šฐ์ˆ˜ํšŒ์› ๊ฒŒ์‹œํŒ ๊ตฌํ˜„ (๊ฒŒ์‹œํŒ์€ 2๊ฐœ์ด์ง€๋งŒ ํ•˜๋‚˜์˜ ํ™”๋ฉด์„ ๊ณต์œ ํ•ด์„œ ์‚ฌ์šฉํ•˜๊ณ  ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ๊ตฌ๋ถ„ํ•จ)
  • [๊ฒŒ์‹œ๊ธ€ ์“ฐ๊ธฐ ํŽ˜์ด์ง€] - ๊ถŒํ•œ(์ƒˆ์‹น, ์šฐ์ˆ˜)์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๊ฒŒ์‹œํŒ์— ๊ธ€์ด ์ ์–ด์ง (์ธ๋จธ๋…ธํŠธ ์ ์šฉ)
  • [๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก๋ณด๊ธฐ ํŽ˜์ด์ง€]
    • ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก๋ณด๊ธฐ
    • id, title, content, thumbnail, user์˜ nickName ์ถœ๋ ฅ, content 2์ค„์ด ๋„˜์–ด๊ฐ€๋ฉด Ellipsis(...)์œผ๋กœ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ, ์ •๋ ฌ์€ id์ˆœ Desc
    • ํŽ˜์ด์ง€๋‹น 6๊ฐœ ๊ฒŒ์‹œ๊ธ€ ๋ณด์—ฌ์•ผ ํ•จ, ๊ฒŒ์‹œ๊ธ€์€ Grid ํ˜•์‹์œผ๋กœ 3๊ฐœ์”ฉ ์นด๋“œ(Card) ๋ฐฐ์น˜
    • ์ž‘์„ฑ์ž(nickName), ์ œ๋ชฉ(title), ๋‚ด์šฉ(content)๋กœ ๊ฒ€์ƒ‰๊ฐ€๋Šฅํ•ด์•ผ ํ•จ.
  • [๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ๋ณด๊ธฐ ํŽ˜์ด์ง€]
    • id, title, content, nickName, ๋Œ“๊ธ€์˜ comment ๋ฆฌ์ŠคํŠธ(id, comment, ๋Œ“๊ธ€์˜ ์ž‘์„ฑ์ž nickName) ์ถœ๋ ฅ.
    • ๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ๋ฒ„ํŠผ๊ณผ ์ˆ˜์ •๋ฒ„ํŠผ ๋ณด์—ฌ์•ผ ํ•จ(๋ณธ์ธ์ด ์ ์€ ๊ธ€์— ๋Œ€ํ•ด์„œ๋งŒ), ๋Œ“๊ธ€ ์‚ญ์ œ๋ฒ„ํŠผ์ด ๋ณด์—ฌ์•ผํ•จ(๋ณธ์ธ์ด ์ ์€ ๋Œ“๊ธ€์— ๋Œ€ํ•ด์„œ๋งŒ)
    • ๋ณธ์ธ์ด ์ ์€ ๊ฒŒ์‹œ๊ธ€๋งŒ ์‚ญ์ œ๊ฐ€๋Šฅ
    • title, content ์ˆ˜์ • ๊ฐ€๋Šฅ
    • ๊ฒŒ์‹œ๊ธ€ ์‹ ๊ณ ๊ฐ€๋Šฅ (ํ˜•ํƒœ : ์š•์„ค, ์Œ๋ž€, ๋น„๋ฐฉ)
    • ๋Œ“๊ธ€ ์“ฐ๊ธฐ 50์ž์ด๋‚ด! , ๋Œ“๊ธ€์— ๋Œ“๊ธ€์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Œ. ๋Œ€๋Œ“๊ธ€ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (depth 1๊นŒ์ง€)
    • ๋Œ“๊ธ€ ์‚ญ์ œ๊ฐ€๋Šฅ (๋Œ“๊ธ€์€ ์ˆ˜์ •์€ ์—†์Œ)

์Šค์ผ€์ฅด๋Ÿฌ ๋“ฑ๋ก

  • @Schedule ์„ ์‚ฌ์šฉํ•˜์—ฌ, 1๋ถ„์— ํ•œ๋ฒˆ์”ฉ ๊ฒŒ์‹œ๊ธ€ ์ˆ˜๊ฐ€ 10๊ฐœ์ธ๋ฐ, ์šฐ์ˆ˜ํšŒ์›์ด ์•„๋‹Œ ์ƒˆ์‹นํšŒ์› ๋“ฑ๊ธ‰ ์ž๋™ ๋ณ€๊ฒฝ

๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€

  • ํšŒ์›์˜ role ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ
  • ํšŒ์›์—๊ฒŒ email ์ „์†ก ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ
  • ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก๋ณด๊ธฐ, ์‚ญ์ œํ•˜๊ธฐ, ์ˆจ๊ธฐ๊ธฐ/๋ณด์ด๊ธฐ, ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ(์š•์„ค) ๋“ฑ๋ก ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ
  • ๊ด€๋ฆฌ์ž ๊ฒŒ์‹œ๊ธ€ ํ†ต๊ณ„ ๊ด€๋ฆฌ: ์œ ์ €์˜ ๊ฒŒ์‹œ๊ธ€ ์ˆ˜, ๋Œ“๊ธ€ ์ˆ˜๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๊ณ , ๋Œ“๊ธ€์ˆ˜๊ฐ€ ๋งŽ์€ ์œ ์ € ์ˆœ, ๊ฒŒ์‹œ๊ธ€์ˆ˜๊ฐ€ ๋งŽ์€ ์œ ์ €์ˆœ์œผ๋กœ ์ •๋ ฌ
  • ๊ด€๋ฆฌ์ž ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ ๊ณ ๊ฐ ๋“ฑ๋ก/ํ•ด์ œ
  • ๊ฒŒ์‹œ๊ธ€ ์‹ ๊ณ ๋ชฉ๋ก ํŽ˜์ด์ง€ ๊ตฌํ˜„, ํ•ด๋‹น ํŽ˜์ด์ง€์—์„œ ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ ๊ณ ๊ฐ ๋“ฑ๋ก ๋ฐ ํ•ด์ œ ๊ฐ€๋Šฅ

์—ญํ•  ๋ถ„๋ฐฐ

  • ์ •ํ˜„์ˆ˜
    • ํ”„๋กœ์ ํŠธ ๋ฒ ์ด์Šค ์ฝ”๋“œ ์ž‘์„ฑ (Validation Json ์‘๋‹ต ์ฒ˜๋ฆฌ, ResponseUtil, ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ ์„ค์ •)
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ” ์ƒ์„ฑ, ์—”ํ‹ฐํ‹ฐ ๋ชจ๋ธ๋ง ์ง„ํ–‰
    • ๋กœ๊ทธ์ธ, ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ๋Œ“๊ธ€ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ์Šค์ผ€์ค„๋Ÿฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • ์ด๋ฏธ์—ฐ
    • ๊ฒŒ์‹œ๊ธ€ ์นดํ…Œ๊ณ ๋ฆฌ ๊ตฌํ˜„
    • ๊ฒŒ์‹œ๊ธ€ ์“ฐ๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก๋ณด๊ธฐ ๋ฐ ํŽ˜์ด์ง• ๊ตฌํ˜„
    • ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ๋ณด๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ ๋ฐ ์ˆ˜์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

About

๐Ÿ“ ๊ฒŒ์‹œํŒ ๊ด€๋ฆฌ ์„œ๋น„์Šค

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 69.8%
  • HTML 30.2%