Skip to content

lucy-kim04/4-favpic-team1-BE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

52 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿˆ ์ฝ”๋“œ์ž‡ ์Šคํ”„๋ฆฐํŠธ ํ’€์Šคํƒ 4๊ธฐ - ์ค‘๊ธ‰ ํ”„๋กœ์ ํŠธ 1ํŒ€ ๐Ÿซถ๐Ÿป

   _        ______                                  
 /' \      /\__  _\                                 
/\_, \     \/_/\ \/     __      __       ___ ___    
\/_/\ \       \ \ \   /'__`\  /'__`\   /' __` __`\  
   \ \ \       \ \ \ /\  __/ /\ \L\.\_ /\ \/\ \/\ \ 
    \ \_\       \ \_\\ \____\\ \__/.\_\\ \_\ \_\ \_\
     \/_/        \/_/ \/____/ \/__/\/_/ \/_/\/_/\/_/
/**
*                ๐Ÿ„ 1 TEAM PROJECT
*            ๐Ÿ› ๏ธ ์ตœ์• ์˜ ํฌํ†  - FavPic
*            โฐ 2025.02.11 ~ 2025.03.07
**/

๐Ÿ’ป '์ตœ์• ์˜ ํฌํ† ' ๋ฐ”๋กœ๊ฐ€๊ธฐ ๐Ÿ‘‰๐Ÿป Click

๋ชฉ์ฐจ

Team Members

์ด๋ฆ„ ๊ฐœ์ธ ๊ฐœ๋ฐœ ๋ณด๊ณ ์„œ
๊น€์ฃผ์˜ [๋…ธ์…˜ ๋งํฌ ๋ฐ”๋กœ๊ฐ€๊ธฐ]
๊น€ํฌ์ฃผ ๋…ธ์…˜ ๋งํฌ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์ •์ง„ํ˜ธ [๋…ธ์…˜ ๋งํฌ ๋ฐ”๋กœ๊ฐ€๊ธฐ]
์กฐํ˜•๋ฏผ ๋…ธ์…˜ ๋งํฌ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Project Information

๊ฐœ์ธ์šฉ ๋””์ง€ํ„ธ ์‚ฌ์ง„์ฒฉ ์ƒ์„ฑ ํ”Œ๋žซํผ, ์ตœ์• ์˜ ํฌํ† 

Title ๊ฐœ์ธ์šฉ ๋””์ง€ํ„ธ ์‚ฌ์ง„์ฒฉ ์ƒ์„ฑ ํ”Œ๋žซํผ, ์ตœ์• ์˜ ํฌํ† 
Description "์ตœ์• ์˜ ํฌํ† "๋Š” ๋””์ง€ํ„ธ ์‹œ๋Œ€์˜ ์ƒˆ๋กœ์šด ์ˆ˜์ง‘ ๋ฌธํ™”๋ฅผ ์„ ๋„ํ•˜๋Š” ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ์ž์‹ ์ด ์ข‹์•„ํ•˜๋Š” ์•„์ด๋Œ์ด๋‚˜ ์Šคํฌ์ธ  ์Šคํƒ€, ๊ทธ๋ฆผ ๋“ฑ ๋””์ง€ํ„ธ ํฌํ† ์นด๋“œ๋ฅผ ์†์‰ฝ๊ฒŒ ์‚ฌ๊ณ ํŒ” ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์œผ๋กœ, ํŠน๋ณ„ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ๋Š” ์ข‹์•„ํ•˜๋Š” ํฌํ† ์นด๋“œ๋ฅผ ์‹ค์ œ๋กœ ๋ชจ์œผ๋Š” ๊ฒƒ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๋””์ง€ํ„ธ ์ž์‚ฐ์œผ๋กœ ์†Œ์žฅํ•˜๋ฉฐ ๋‚˜๋งŒ์˜ ์ปฌ๋ ‰์…˜์„ ์™„์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋กœ์˜ ํฌํ† ์นด๋“œ๋ฅผ ๊ตํ™˜ํ•˜๊ณ , ๋‚˜๋งŒ์˜ ํฌํ† ์นด๋“œ๋ฅผ ์ž๋ž‘ํ•˜๋Š” ์žฌ๋ฏธ์™€ ํ•จ๊ป˜ ์ƒํ˜ธ ๊ต๋ฅ˜๋„ ์ฆ๊ธธ ์ˆ˜ ์žˆ๋Š” ํ”Œ๋žซํผ, "์ตœ์• ์˜ ํฌํ† "์—์„œ ๋งŒ๋‚˜๋ณด์„ธ์š”!
Project Link Git Url : FavPic ํ”„๋ก ํŠธ์—”๋“œ , FavPic ๋ฐฑ์—”๋“œ

๊ธฐ์ˆ  ์Šคํƒ

Frontend Backend Database ํ˜‘์—…ํˆด
- JavaScript
- Next.js
- Tanstack Query
- Tailwind CSS
- React Hook Form
- clsx
- Axios
- Atomic ๋””์ž์ธ ํŒจํ„ด ์ ์šฉ
- Vercel(๋ฐฐํฌ)
- Express.js
- cors, bcrypt, dotenv, morgan, validator, jsonwebtoken, multer
- Render(๋ฐฐํฌ)
- postgreSQL
- prisma(ORM)
- ํ˜‘์—…ํˆด
- Git & Github
- Discord
- Notion
- ์œ ์ € ์ธ์ฆ ๊ตฌํ˜„
- ํ† ํฐ/ํ—ค๋” ๋ฐฉ์‹
- JWT ์‚ฌ์šฉ

์•„ํ‚คํ…์ฒ˜ ๋‹ค์ด์–ด๊ทธ๋žจ

image

ํŒ€์›๋ณ„ ์—ญํ•  ๋ฐ ๊ตฌํ˜„ ๊ธฐ๋Šฅ ์ƒ์„ธ


๐Ÿ„ ๊น€์ฃผ์˜

์ ์–ด์ฃผ์„ธ์š”

  1. ์—ญํ• 
  2. ๊ตฌํ˜„ ๋‚ด์šฉ
  3. ํ”„๋ก ํŠธ์—”๋“œ
  4. ๋ฐฑ์—”๋“œ

๐Ÿ„ ๊น€ํฌ์ฃผ

์ ์–ด์ฃผ์„ธ์š”

  1. ์—ญํ• 
  2. ๊ตฌํ˜„ ๋‚ด์šฉ
  3. ํ”„๋ก ํŠธ์—”๋“œ
  4. ๋ฐฑ์—”๋“œ

๐Ÿ„ ์ •์ง„ํ˜ธ

์ ์–ด์ฃผ์„ธ์š”

  1. ์—ญํ• 
  2. ๊ตฌํ˜„ ๋‚ด์šฉ
  3. ํ”„๋ก ํŠธ์—”๋“œ
  4. ๋ฐฑ์—”๋“œ

๐Ÿ„ ์กฐํ˜•๋ฏผ

์ ์–ด์ฃผ์„ธ์š”

  1. ์—ญํ• 
  2. ๊ตฌํ˜„ ๋‚ด์šฉ
  3. ํ”„๋ก ํŠธ์—”๋“œ
  4. ๋ฐฑ์—”๋“œ

ํŒŒ์ผ ๊ตฌ์กฐ

๐Ÿ„ ํ”„๋ก ํŠธ์—”๋“œ ํด๋” ๊ตฌ์กฐ

image

๐Ÿ„ ๋ฐฑ์—”๋“œ ํด๋” ๊ตฌ์กฐ

image

DB ๋ชจ๋ธ๋ง

FavPic

API ๋ช…์„ธ

/users

  • ํšŒ์›๊ฐ€์ž…
    • [POST] /users/sign-up
  • ๋กœ๊ทธ์ธ
    • [POST] /users/log-in
  • ํ† ํฐ ๊ฐฑ์‹ 
    • [POST] /users/refreshToken
  • ๋‹‰๋„ค์ž„ ์ค‘๋ณต ์ฒดํฌ
    • [POST] /users/check-nickname
  • ๋‚ด ํ”„๋กœํ•„(์ •๋ณด) ์กฐํšŒ
    • [GET] /users/me
  • ๋‚ด ํฌ์ธํŠธ ์กฐํšŒ
    • [GET] /users/me
  • ๋งˆ์ด๊ฐค๋Ÿฌ๋ฆฌ ๋ชฉ๋ก ์กฐํšŒ
    • [GET] /users/me/gallery-summary
  • ๋‚˜์˜ ํŒ๋งค ํฌํ† ์นด๋“œ ๋ชฉ๋ก ์กฐํšŒ
    • [GET] /users/me/gallery-sales

/cards

  • ๋‚ด๊ฐ€ ์†Œ์œ ์ค‘์ธ ์นด๋“œ ๋ชฉ๋ก ์กฐํšŒ - ๋งˆ์ด๊ฐค๋Ÿฌ๋ฆฌ
    • [GET] /cards/me/gallery
  • ๋งˆ์ด๊ฐค๋Ÿฌ๋ฆฌ ์นด๋“œ ์ƒ์„ธ ์กฐํšŒ
    • [GET] /cards/me/gallery/:cardId
  • ๋‚˜์˜ ํŒ๋งค ํฌํ† ์นด๋“œ ๋ชฉ๋ก ์กฐํšŒ(ํŒ๋งค์ค‘ ๋˜๋Š” ๊ตํ™˜ ์ œ์‹œ ์ค‘)
    • [GET] /cards/me/sales
  • ์นด๋“œ ๋“ฑ๋ก(๋ฐœํ–‰)
    • [POST] /cards

/shops

  • ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค์— ๋“ฑ๋ก๋œ ์ „์ฒด ์ƒ์  ๋ชฉ๋ก ์กฐํšŒ
    • [GET] /shops
  • ๋‚ด ํฌํ†  ์นด๋“œ ํŒ๋งค(์ƒ์  ๋“ฑ๋ก)
    • [POST] /shops
  • ์ƒ์  ์ƒ์„ธ ์กฐํšŒ
    • [GET] /shops/:shopId
  • ์ƒ์  ์ •๋ณด ์ˆ˜์ •
    • [PUT] /shops/:shopId
  • ์ƒ์  ์‚ญ์ œ(ํŒ๋งค ๋‚ด๋ฆฌ๊ธฐ)
    • [DELETE] /shops/:shopId
  • ์ƒ์ ์— ๋“ฑ๋ก๋œ ํฌํ†  ์นด๋“œ ๊ตฌ๋งค
    • [POST] /shops/:shopId/purchase
  • ์ƒ์ ์— ๋“ฑ๋ก๋œ ํฌํ†  ์นด๋“œ์— ๊ตํ™˜ ์ œ์•ˆ
    • [POST] /shops/:shopId/exchanges
  • (์ƒ์ ์— ๋“ฑ๋ก๋œ) ํฌํ†  ์นด๋“œ ๊ตํ™˜ ์ œ์•ˆ ์ทจ์†Œ
    • [PUT] /exchanges/:exchangeId
  • (์ƒ์ ์— ๋“ฑ๋ก๋œ) ํฌํ†  ์นด๋“œ ๊ตํ™˜ ์‹ ์ฒญ ์Šน์ธ
    • [POST] /exchanges/:exchangeId/approve
  • (์ƒ์ ์— ๋“ฑ๋ก๋œ) ํฌํ†  ์นด๋“œ ๊ตํ™˜ ์‹ ์ฒญ ๊ฑฐ์ ˆ
    • [POST] /exchanges/:exchangeId/refuse

/notifications

  • ์•Œ๋ฆผ ์ถ”๊ฐ€
    • [POST] /notifications
  • ๋‚˜์˜ ์•Œ๋ฆผ ๋ชฉ๋ก ์กฐํšŒ
    • [GET] /notifications/me
  • ์•Œ๋ฆผ ์ •๋ณด ์ˆ˜์ •(์ฝ์Œ ์ฒ˜๋ฆฌ)
    • [GET] /notifications/:notificationId

ํ”„๋กœ์ ํŠธ ํšŒ๊ณ ๋ก