_ ______ /' \ /\__ _\ /\_, \ \/_/\ \/ __ __ ___ ___ \/_/\ \ \ \ \ /'__`\ /'__`\ /' __` __`\ \ \ \ \ \ \ /\ __/ /\ \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 ์ฌ์ฉ |

- ์ญํ
- ๊ตฌํ ๋ด์ฉ
- ํ๋ก ํธ์๋
- ๋ฐฑ์๋
- ์ญํ
- ๊ตฌํ ๋ด์ฉ
- ํ๋ก ํธ์๋
- ๋ฐฑ์๋
- ์ญํ
- ๊ตฌํ ๋ด์ฉ
- ํ๋ก ํธ์๋
- ๋ฐฑ์๋
- ์ญํ
- ๊ตฌํ ๋ด์ฉ
- ํ๋ก ํธ์๋
- ๋ฐฑ์๋


- ํ์๊ฐ์
- [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
- ๋ด๊ฐ ์์ ์ค์ธ ์นด๋ ๋ชฉ๋ก ์กฐํ - ๋ง์ด๊ฐค๋ฌ๋ฆฌ
- [GET] /cards/me/gallery
- ๋ง์ด๊ฐค๋ฌ๋ฆฌ ์นด๋ ์์ธ ์กฐํ
- [GET] /cards/me/gallery/:cardId
- ๋์ ํ๋งค ํฌํ ์นด๋ ๋ชฉ๋ก ์กฐํ(ํ๋งค์ค ๋๋ ๊ตํ ์ ์ ์ค)
- [GET] /cards/me/sales
- ์นด๋ ๋ฑ๋ก(๋ฐํ)
- [POST] /cards
- ๋ง์ผํ๋ ์ด์ค์ ๋ฑ๋ก๋ ์ ์ฒด ์์ ๋ชฉ๋ก ์กฐํ
- [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
- ์๋ฆผ ์ถ๊ฐ
- [POST] /notifications
- ๋์ ์๋ฆผ ๋ชฉ๋ก ์กฐํ
- [GET] /notifications/me
- ์๋ฆผ ์ ๋ณด ์์ (์ฝ์ ์ฒ๋ฆฌ)
- [GET] /notifications/:notificationId