/freeboard

๐Ÿ“ Bulletin board using Next.js and React

Primary LanguageTypeScript

Freeboard & Useditem Market Website

Next.js์™€ React๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž์œ ๊ฒŒ์‹œํŒ + ์ค‘๊ณ ๋งˆ์ผ“ ์›น์‚ฌ์ดํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜์˜€์Šต๋‹ˆ๋‹ค.

โœ ์ž์œ ๋กญ๊ฒŒ ๊ธ€์„ ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ฒŒ์‹œํŒ ์„œ๋น„์Šค
๐Ÿ›๏ธ ์ค‘๊ณ  ์ƒํ’ˆ์„ ๋“ฑ๋กํ•˜๊ณ , ํฌ์ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ๋งคํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค


๐Ÿ“” Table of Contents


๐ŸŒŸ About the Project

๐Ÿ“ท Screenshots

screenshot

๐Ÿ‘พ Tech Stack

Frontend ๊ธฐ์ˆ  ์Šคํƒ
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
๋ฐฑ์—”๋“œ API
๋ฐฐํฌ

๐Ÿงฐ Getting Started

$ git clone https://github.com/ParkSohyunee/freeboard.git

$ yarn install

$ yarn dev

# http://localhost:3000 ์ ‘์†

๐ŸŒ ๋ฐฐํฌ์ฃผ์†Œ https://freeboard-liart.vercel.app/
GraphQL API๋Š” localhost์˜ 3000๋ฒˆ ํฌํŠธ๋งŒ ์Šน์ธ๋˜๋„๋ก ์„œ๋ฒ„์—์„œ block ์ •์ฑ…์ด ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ, ํ˜„์žฌ ๋ฐฐํฌ์ฃผ์†Œ์—์„œ๋Š” GraphQL API๋ฅผ ์š”์ฒญํ•˜์ง€ ๋ชปํ•˜์—ฌ ๊ธฐ๋Šฅ์ด ๋™์ž‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


๐ŸŽฏ Features

  • ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ, ๋กœ๊ทธ์•„์›ƒ
  • ์ž์œ ๊ฒŒ์‹œํŒ CRUD
  • ๋Œ“๊ธ€ CRUD
  • ์ค‘๊ณ ๋งˆ์ผ“ ์ƒํ’ˆ๋“ฑ๋ก CRUD
  • ์ „์ฒด ๊ฒŒ์‹œํŒ ๋ชฉ๋ก ์‹ค์‹œ๊ฐ„ ๊ฒ€์ƒ‰ ์กฐํšŒ
  • ์นด๋“œ ๊ฒฐ์ œ๋กœ ํฌ์ธํŠธ ์ถฉ์ „
  • ์ถฉ์ „ํ•œ ํฌ์ธํŠธ๋กœ ์ƒํ’ˆ ๊ตฌ๋งค

๐Ÿ‘€ Usage

โœจ ์ž์œ ๊ฒŒ์‹œํŒ ๋ชฉ๋ก


freeboard_list
์ž์œ ๊ฒŒ์‹œํŒ ๋ชฉ๋ก์กฐํšŒ
  • - ๋ฐ˜์‘ํ˜• UI ์ ์šฉ(์ „์ฒดํŽ˜์ด์ง€)
  • - ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ, ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ
  • - ํŽ˜์ด์ง€๋„ค์ด์…˜ ๊ธฐ๋Šฅ
  • - ๊ฒ€์ƒ‰์–ด ํ‚ค์›Œ๋“œ๋กœ ์‹ค์‹œ๊ฐ„ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ

โœจ ๊ฒŒ์‹œํŒ ์ƒ์„ธ


freeboard_detail
์ž์œ ๊ฒŒ์‹œํŒ ์ƒ์„ธํŽ˜์ด์ง€
  • - ๊ฒŒ์‹œํŒ์—์„œ ์ž‘์„ฑํ•œ ์ •๋ณด๊ฐ€ ๋ณด์ด๋Š” ํŽ˜์ด์ง€
  • - ๋™์˜์ƒ ์žฌ์ƒ, ์ข‹์•„์š”/์‹ซ์–ด์š” ๊ธฐ๋Šฅ
  • - ๊ธ€์˜ ์ˆ˜์ •๊ณผ ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅ
  • - ๋ณ„์ ๊ณผ ํ•จ๊ป˜ ๋Œ“๊ธ€ ์ž‘์„ฑ, ์ˆ˜์ •, ์‚ญ์ œ ๊ฐ€๋Šฅ

โœจ ์ค‘๊ณ ๋งˆ์ผ“ ๋ชฉ๋ก


useditem_market_list
์ค‘๊ณ ๋งˆ์ผ“ ๋ชฉ๋ก์กฐํšŒ
  • - ๋ฌดํ•œ์Šคํฌ๋กค ๊ธฐ๋Šฅ
  • - ๋ฒ ์ŠคํŠธ ์ƒํ’ˆ ๋ณด๊ธฐ

โœจ ์ค‘๊ณ ๋งˆ์ผ“ ์ƒํ’ˆ ๋“ฑ๋ก


useditem_market_register
์ค‘๊ณ ๋งˆ์ผ“ ์ƒํ’ˆ ๋“ฑ๋ก
  • - ์›น ์—๋””ํ„ฐ๋กœ ๊ธ€์”จ ํฌ๊ธฐ ์„ ํƒ, ๋งํฌ ์ฒจ๋ถ€, ๋งˆํฌ๋‹ค์šด์œผ๋กœ ๊ธ€ ์ž‘์„ฑ
  • - ์ฃผ์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋ฉด ์นด์นด์˜ค์ง€๋„์— ๊ฑฐ๋ž˜์œ„์น˜ ๋งˆํฌ์—… ํ‘œ์‹œ
  • - ์›ํ•˜๋Š” ํƒœ๊ทธ๋ฅผ ์ŠคํŽ˜์ด์Šค๋ฐ”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”๊ฐ€ ๋ฐ ํด๋ฆญํ•˜๋ฉด ํƒœ๊ทธ ์‚ญ์ œ
  • - ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ

โœจ ์ค‘๊ณ ๋งˆ์ผ“ ์ƒ์„ธ


useditem_market_detail

๐Ÿ“ ๋ฐ˜์‘ํ˜• UI ์ ์šฉ ํ™”๋ฉด

useditem_market_responseUI
์ค‘๊ณ ๋งˆ์ผ“ ์ƒ์„ธํŽ˜์ด์ง€
  • - ์ž‘์„ฑ์ž๋งŒ ๊ธ€ ์ˆ˜์ • ๋ฐ ์‚ญ์ œ ๊ฐ€๋Šฅ
  • - ์ƒํ’ˆ ์ฐœํ•˜๊ธฐ ๋ฐ ํฌ์ธํŠธ๋กœ ์ƒํ’ˆ ๊ตฌ๋งค
  • - ๊ฑฐ๋ž˜ ์œ„์น˜ ๋ณด๊ธฐ
  • - ๋Œ“๊ธ€ CRUD

โœจ ํฌ์ธํŠธ ์ถฉ์ „


point_charge
ํฌ์ธํŠธ ์ถฉ์ „์„ ์œ„ํ•œ ์นด๋“œ ๊ฒฐ์ œ
  • - ๋“œ๋ž˜๊ทธ๋‹ค์šด ๋ฉ”๋‰ด์—์„œ ์›ํ•˜๋Š” ๊ธˆ์•ก์„ ์นด๋“œ๊ฒฐ์ œ ํ•˜์—ฌ ํฌ์ธํŠธ ์ถฉ์ „