Skip to content

사용하지 않는 물건을 그저 쌓아두거나 버리는 대신에 필요로 하는 사람에게 거래를 하는 웹사이트입니다.

Notifications You must be signed in to change notification settings

DumakIt/TradeCycle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

fb25634 · May 7, 2024

History

61 Commits
Aug 24, 2023
Aug 14, 2023
Jul 17, 2023
Aug 24, 2023
Jul 14, 2023
Jul 24, 2023
Jul 13, 2023
Jul 14, 2023
May 7, 2024
Aug 8, 2023
Aug 2, 2023
Aug 2, 2023
Jul 14, 2023
Jul 17, 2023
Jul 14, 2023
Aug 7, 2023
Jul 14, 2023
Aug 2, 2023

Repository files navigation

Installation

  yarn install
  yarn dev

주요 기술 스택 및 선택 이유

기술 이유
React 컴포넌트 기반 접근 방식을 통해 재사용할 수 있는 UI 요소를 구축할 수 있으며, 가상 DOM을 사용하여 효율적인 렌더링을 지원합니다. 이를 통해 웹 애플리케이션의 복잡성을 관리하고, 유지 보수를 용이하게 할 수 있기 때문에 선택하였습니다.
NEXT.JS NEXT.JS는 리액트 기반의 프레임워크로, 서버 사이드 렌더링(SSR), 정적 사이트 생성(SSG), 라우팅 등의 기능을 통해 더 좋은 성능으로 개발할 수 있으며, 프로젝트를 확장하거나 유지 보수하기 쉽게 만들어 주기 때문에 선택했습니다.
TypeScript 개발자가 의도한 변수나 함수 등의 목적을 더욱 명확하게 전달 가능하고 전달된 정보를 기반으로 코드 자동완성이나 잘못된 변수/함수 사용에 대한 에러 알림 같은 피드백을 받을 수 있게 되므로 순수 자바스크립트에 비해 생상성 향상할 수 있기 때문에 선택하였습니다.
GraphQL GraphQL은 클라이언트가 원하는 응답 값을 받을 수 있기 때문에 이로 인해 네트워크 트래픽과 데이터 전송량을 최적화할 수 있어 효율성을 높일 수 있기 때문에 선택했습니다.
Dompurify React-Quill 이용 시 XSS 공격을 방지하고 사용자의 안전성을 확보할 수 있기 때문에 선택했습니다.

What I Learned

  • 어떻게 하면 서버에 데이터 낭비를 줄일 수 있을까 고민을 하며 방법을 찾아 스스로 문제를 해결해 나가는 경험을 할 수 있었습니다.
  • 다양한 API를 호출하고 응답을 처리하여 서버와의 통신에 대한 이해도를 높일 수 있었습니다.

Development Detail

  1. FileReader를 사용하여 이미지의 데이터 낭비를 최소화 코스 게시물을 작성 시 이미지를 서버에 올려두고 게시물 작성을 취소하면 서버의 데이터 낭비뿐만 아니라 과부하가 걸리게 됨으로 서버 부담을 최소화하기 위해 FileReader를 사용하여 미리 보기 용으로 임시 주소를 만들어 최종 게시물 작성 시 서버에 이미지 업로드하도록 개발하였습니다.

FileReader

  1. XSS 공격 대비를 위한 dompurify를 이용 react-quill 이용시 XSS공격을 대비해 Dompurify를 이용하였습니다.

dompurify


주요기능

페이지 영상
물품 (등록/조회/수정/삭제) 상품등록1 (2)
댓글 (등록/조회/수정/삭제) 댓글
포인트 충전 충전
물품 구매 구매
회원가입, 로그인, 로그아웃 로그인

About

사용하지 않는 물건을 그저 쌓아두거나 버리는 대신에 필요로 하는 사람에게 거래를 하는 웹사이트입니다.

Topics

Resources

Stars

Watchers

Forks