Skip to content

๐Ÿฅฌ ๋ฐฐ์ถ”๋งˆ์ผ“(CABBAGE-MARKET) / ์ค‘๊ณ ๊ฑฐ๋ž˜ ๊ฒŒ์‹œํŒ ํ”Œ๋žซํผ

Notifications You must be signed in to change notification settings

Jang-GO/cabbage-market

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

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

Repository files navigation

CABBAGE MARKET

๋ฐฐ์ถ”๋งˆ์ผ“ (CABBAGE-MARKET)

๋ชฉ์ฐจ

  1. ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ
  2. ๊ธฐ์ˆ  ์Šคํƒ
  3. ์ฃผ์š” ๊ธฐ๋Šฅ
  4. ์‹คํ–‰ ํ™”๋ฉด
  5. ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ๋„
  6. ๊ฐœ๋ฐœ ํŒ€ ์†Œ๊ฐœ
  7. ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„

ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

์‚ฌ์šฉ์ž๊ฐ€ ์ค‘๊ณ  ๋ฌผํ’ˆ์„ ๋“ฑ๋กํ•˜๊ณ , ๊ฒŒ์‹œ๊ธ€์„ ํ†ตํ•ด ๊ฑฐ๋ž˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ค‘๊ณ ๊ฑฐ๋ž˜ ํŠน์„ฑ์„ ๋ฐ˜์˜ํ•œ ๊ฒŒ์‹œํŒ ๊ธฐ๋ฐ˜ ์›น ํ”Œ๋žซํผ

๊ธฐ์ˆ  ์Šคํƒ

Front-end

HTML5 CSS3 JavaScript
HTML5 CSS3 JavaScript

Back-end

Spring MySQL GCS
Spring MySQL GCP

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

๊ธฐ๋Šฅ ์„ค๋ช…
๊ฒŒ์‹œ๊ธ€ ๊ด€๋ฆฌ ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ, ์ˆ˜์ •, ์‚ญ์ œ, ์กฐํšŒ ๋ฐ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ง€์›
์ด๋ฏธ์ง€ ํฌํ•จ ๊ฐ€๋Šฅ, ์ œํ•œ๋œ ๊ฒŒ์‹œ๊ธ€์€ ์ž‘์„ฑ์ž ๋˜๋Š” ๊ด€๋ฆฌ์ž๋งŒ ์กฐํšŒ ๊ฐ€๋Šฅ
๋Œ“๊ธ€ ๊ธฐ๋Šฅ ๊ฒŒ์‹œ๊ธ€์— ๋Œ“๊ธ€ ์ž‘์„ฑ, ์ˆ˜์ •, ์‚ญ์ œ ๊ฐ€๋Šฅ
์ข‹์•„์š” ๊ธฐ๋Šฅ ๊ฒŒ์‹œ๊ธ€์— ์ข‹์•„์š” ํ† ๊ธ€(๋“ฑ๋ก/์ทจ์†Œ) ๋ฐ ํ˜„์žฌ ์‚ฌ์šฉ์ž์˜ ์ข‹์•„์š” ์—ฌ๋ถ€ ํ™•์ธ ๊ฐ€๋Šฅ
๊ฒŒ์‹œ๊ธ€ ์‹ ๊ณ  ๊ฒŒ์‹œ๊ธ€์— ๋Œ€ํ•œ ์‹ ๊ณ  ๊ธฐ๋Šฅ ์ œ๊ณต (์‚ฌ์œ  ํฌํ•จ), ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€์—์„œ ์‹ ๊ณ  ๋‚ด์—ญ ํ™•์ธ ๊ฐ€๋Šฅ
๋ฐ˜์„ฑ๋ฌธ ์ œ์ถœ ๋ฐ ์Šน์ธ ์ œํ•œ๋œ ๊ฒŒ์‹œ๊ธ€์— ๋Œ€ํ•ด ๋ฐ˜์„ฑ๋ฌธ ์ œ์ถœ ๊ฐ€๋Šฅ (100์ž ์ด์ƒ), ๊ด€๋ฆฌ์ž๋Š” ๋ฐ˜์„ฑ๋ฌธ ์กฐํšŒ ๋ฐ ์Šน์ธ/๊ฑฐ์ ˆ ์ฒ˜๋ฆฌ
๊ฒŒ์‹œ๊ธ€ ์ œํ•œ ๊ด€๋ฆฌ ์‹ ๊ณ  ๋ˆ„์ ์œผ๋กœ ์ œํ•œ๋œ ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก์„ ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€์—์„œ ํ™•์ธ ๊ฐ€๋Šฅ
๋งˆ์ดํŽ˜์ด์ง€ ๊ด€๋ฆฌ ํ˜„์žฌ ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž์˜ ์ •๋ณด ์กฐํšŒ ๋ฐ ์ด๋ฆ„, ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ์ˆ˜์ •/์ดˆ๊ธฐํ™” ๊ฐ€๋Šฅ
ํšŒ์›๊ฐ€์ž… ๋ฐ ์ธ์ฆ ์‚ฌ์šฉ์ž ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์•„์›ƒ, ํ˜„์žฌ ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž ์ •๋ณด ์กฐํšŒ ๊ฐ€๋Šฅ
์กฐํšŒ์ˆ˜ ์ถ”์  ๊ฒŒ์‹œ๊ธ€์„ ์—ด๋žŒํ•  ๋•Œ๋งˆ๋‹ค ์กฐํšŒ์ˆ˜ ์ฆ๊ฐ€ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ (IP์ฃผ์†Œ ๋‹น 30์ดˆ์— 1๋ฒˆ)
API ๋ชฉ๋ก
API ์ข…๋ฅ˜ ๋ฉ”์„œ๋“œ URL ์„ค๋ช…
Admin GET /posts/restricted ์‹ ๊ณ  ๋ˆ„์ ์œผ๋กœ ์ œํ•œ๋œ ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ
GET /reports ์ „์ฒด ์‹ ๊ณ  ๋‚ด์—ญ ์กฐํšŒ
GET /apologies ์Šน์ธ ๋Œ€๊ธฐ ์ค‘์ธ ๋ฐ˜์„ฑ๋ฌธ ๋ชฉ๋ก ์กฐํšŒ
GET /apologies/{id} ํŠน์ • ๋ฐ˜์„ฑ๋ฌธ ์ƒ์„ธ ์กฐํšŒ
POST /apologies/{id}/review?accept=... ๋ฐ˜์„ฑ๋ฌธ ์Šน์ธ ๋˜๋Š” ๊ฑฐ์ ˆ ์ฒ˜๋ฆฌ (accept=true/false)
Comment POST /posts/{postId}/comments ํŠน์ • ๊ฒŒ์‹œ๊ธ€์— ๋Œ“๊ธ€ ์ž‘์„ฑ
PUT /comments/{commentId} ๋Œ“๊ธ€ ์ˆ˜์ •
DELETE /comments/{commentId} ๋Œ“๊ธ€ ์‚ญ์ œ
Like POST /{postId} ๊ฒŒ์‹œ๊ธ€ ์ข‹์•„์š” ๋˜๋Š” ์ข‹์•„์š” ์ทจ์†Œ (ํ† ๊ธ€)
GET /{postId} ํ˜„์žฌ ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž์˜ ๊ฒŒ์‹œ๊ธ€ ์ข‹์•„์š” ์—ฌ๋ถ€ ์กฐํšŒ
Post GET /posts ์ „์ฒด ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ (ํŽ˜์ด์ง• ์ง€์›)
GET /posts/{postId} ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ์กฐํšŒ
โ€ป ์ œํ•œ ๊ฒŒ์‹œ๊ธ€์€ ์ž‘์„ฑ์ž ๋˜๋Š” ๊ด€๋ฆฌ์ž๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ
POST /posts ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ (์ด๋ฏธ์ง€ ํฌํ•จ, multipart/form-data)
PUT /posts/{postId} ๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ • (์ด๋ฏธ์ง€ ํฌํ•จ, multipart/form-data)
DELETE /posts/{postId} ๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ (์ž‘์„ฑ์ž๋งŒ ๊ฐ€๋Šฅ)
POST /posts/{postId}/view ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ์ˆ˜ ์ฆ๊ฐ€
GET /posts/search ๊ฒŒ์‹œ๊ธ€ ๊ฒ€์ƒ‰
๊ฒ€์ƒ‰์–ด, ๊ฐ€๊ฒฉ ๋ฒ”์œ„, ์ƒํƒœ(enum) ๋“ฑ ์กฐ๊ฑด ์ง€์›
Report POST /apologies/{postId} ์ œํ•œ๋œ ๊ฒŒ์‹œ๊ธ€์— ๋Œ€ํ•œ ๋ฐ˜์„ฑ๋ฌธ ์ œ์ถœ (์ตœ์†Œ 100์ž ์ด์ƒ)
POST /reports/{postId} ํŠน์ • ๊ฒŒ์‹œ๊ธ€์— ๋Œ€ํ•œ ์‹ ๊ณ  ๋“ฑ๋ก (์‹ ๊ณ  ์‚ฌ์œ  ํฌํ•จ)
Auth POST /users/register ์‚ฌ์šฉ์ž ํšŒ์›๊ฐ€์ž…
POST /users/logout ๋กœ๊ทธ์•„์›ƒ (์„ธ์…˜ ๋ฌดํšจํ™”)
GET /users/me ํ˜„์žฌ ๋กœ๊ทธ์ธ๋œ ์‚ฌ์šฉ์ž ์ •๋ณด ์กฐํšŒ
MyPage GET /users/mypage ํ˜„์žฌ ๋กœ๊ทธ์ธ๋œ ์‚ฌ์šฉ์ž์˜ ๋งˆ์ดํŽ˜์ด์ง€ ์ •๋ณด ์กฐํšŒ
PUT /users/mypage/profile ์‚ฌ์šฉ์ž ์ด๋ฆ„(ํ”„๋กœํ•„ ์ •๋ณด) ๋ณ€๊ฒฝ
PUT /users/mypage/profile-image ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ์ˆ˜์ • (multipart/form-data)
DELETE /users/mypage/profile-image/reset ํ”„๋กœํ•„ ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€๋กœ ์ดˆ๊ธฐํ™”

์‹คํ–‰ ํ™”๋ฉด

๋ฉ”์ธํ™”๋ฉด ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก + ๊ฒ€์ƒ‰ ํ•„ํ„ฐ ํ™”๋ฉด
๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ ํ™”๋ฉด ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ์กฐํšŒ ํ™”๋ฉด
๋ฐ˜์„ฑ๋ฌธ ์ž‘์„ฑ ํ™”๋ฉด ๊ด€๋ฆฌ์ž ๋ฐ˜์„ฑ๋ฌธ ์Šน์ธ ํ™”๋ฉด
๋งˆ์ดํŽ˜์ด์ง€ ์‹ ๊ณ  ๋“ฑ๋ก ํ™”๋ฉด

ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ๋„

  • SW ์•„ํ‚คํ…์ฒ˜

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2025-05-16 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 10 20 17

  • ERD

image

๊ฐœ๋ฐœ ํŒ€ ์†Œ๊ฐœ

์žฅํ˜„์„œ ํ”„๋กœํ•„ ์ด๋ณธ๊ทœ ํ”„๋กœํ•„
์žฅํ˜„์„œ
์ด๋ณธ๊ทœ
์ด๋ฆ„ ์—ญํ• 
๊ฐœ๋ฐœ ๋‚ด์šฉ
์žฅํ˜„์„œ Frontend, Backend - Post/Comment/Admin ๋„๋ฉ”์ธ ๊ตฌํ˜„
- GCS ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ตฌํ˜„
- ์ข‹์•„์š” ๋™์‹œ์„ฑ ํ•ด๊ฒฐ
- UI ์„ค๊ณ„
์ด๋ณธ๊ทœ Frontend, Backend - User/Like/Report ๋„๋ฉ”์ธ ๊ตฌํ˜„
- Spring Security
- ์กฐํšŒ์ˆ˜ ๊ธฐ๋Šฅ(์บ์‹œ๋ฉ”๋ชจ๋ฆฌ)
- UI ์„ค๊ณ„

๊ฐœ๋ฐœ ๊ธฐ๊ฐ„ ๋ฐ ์ผ์ •

  • 2025.05.08 ~2025.05.16(1์ฃผ)

About

๐Ÿฅฌ ๋ฐฐ์ถ”๋งˆ์ผ“(CABBAGE-MARKET) / ์ค‘๊ณ ๊ฑฐ๋ž˜ ๊ฒŒ์‹œํŒ ํ”Œ๋žซํผ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 51.5%
  • Java 42.9%
  • CSS 3.3%
  • JavaScript 2.3%