Skip to content

Team-JustPay/JustPay-Client

Repository files navigation

JustPay-Client

Slide 16_9 - 5

돈많네. 돈만 내!

트위터 DM 없는 아이돌굿즈 최고가 매칭 서비스

더이상 트위터 DM으로 거래하지 마세요.

자동으로 거래가 매칭되고,
알아서 내 계좌로 입금됩니다.

저스트페이에선 대화없이 결제확인만 하세요.

서비스 소개

Slide 16_9 - 18

Slide 16_9 - 20 Slide 16_9 - 21 Slide 16_9 - 22

🙌 JustPay FE Team


김남준 (namjunkim12)

유준상 (YOOJS1205)

송우영 (f0rever0)

정현욱 (hyunwookchung)
👶
Web FE
🧚🏻
Web FE
👼
Web FE
😽
Web FE

⚙️ Tech Stack


React.js

TypeScript

Next.js

Yarn2 (berry)

Axios
SPA Library Programming
Language
SSR Framework Pkg Manager promise-based
HTTP client

React Query

Recoil

Styled-Components

MSW
server-state management
Library
state-management
Library
CSS-in-JS
Library
API-Mocking
Library

Git

Github-Project

Vercel
Version-Control
System
Task-Management Deploy platform

📁 Directory Structure

📦JustPay-Client
┣ 📂.github //이슈,PR 템플릿 등 깃허브 관련 파일 관리
┣ 📂.next
┣ 📂.vscode
┣ 📂.yarn
┣ 📂api //axios 라이브러리 기반으로 비동기 통신하는 함수들, axios instance 파일로 구성
┣ 📂apiHooks //api의 함수들을 이용하여 react-query를 반환하는 함수들로 구성
┣ 📂components //페이지를 구성하는 컴포넌트들로 구성
┃ ┣ 📂common // 공통적으로 사용하는 컴포넌트
┃ ┣ 📂handleinfo // 전화번호, 배송지 최초등록 페이지에서 사용하는 컴포넌트 
┃ ┣ 📂layout // app.tsx에서 사용하는 레이아웃 컴포넌트
┃ ┣ 📂matching // 매칭중/매칭완료 페이지에서 사용하는 컴포넌트
┃ ┣ 📂myBuy // 내판매 페이지에서 사용하는 컴포넌트 
┃ ┣ 📂myInfo // 내정보 페이지에서 사용하는 컴포넌트 
┃ ┣ 📂mySell // 내구매 페이지에서 사용하는 컴포넌트 
┃ ┣ 📂offer // 가격 제시 및 구매 페이지에서 사용하는 컴포넌트
┃ ┣ 📂profile // 유저 정보를 불러오는 컴포넌트
┃ ┣ 📂sell // 판매글 관련 페이지에서 사용하는 컴포넌트 
┃ ┣ 📂suggests // 구매 제안 목록 페이지에서 사용하는 컴포넌트  
┃ ┗ 📜index.d.ts // .git export를 위한 파일
┣ 📂constants // 환경변수 및 상수 파일을 저장하는 폴더
┣ 📂hooks // 리액트를 기반으로 자주 사용되는 커스텀 훅들로 구성
┣ 📂mocks // msw라이브러리를 통한 서버 모킹을 위한 파일들로 구성
┣ 📂pages // 페이지 컴포넌트들로 구성
┃ ┣ 📂handleinfo
┃ ┃ ┣ 📜adddelivery.tsx // 전화번호 최초등록
┃ ┃ ┗ 📜addphonenumber.tsx // 배송지 최초등록
┃ ┣ 📂login
┃ ┃ ┣ 📜check.tsx // 로그인 성공 페이지
┃ ┃ ┗ 📜index.tsx // 로그인 요청 페이지
┃ ┣ 📂matching
┃ ┃ ┗ 📜[id].tsx // '매칭 중인 목록','매칭 완료 목록 페이지
┃ ┣ 📂my // GNB 페이지
┃ ┃ ┣ 📜alarm.tsx // 내알람 페이지
┃ ┃ ┣ 📜buy.tsx // 내구매 페이지
┃ ┃ ┣ 📜info.tsx // 내정보 페이지
┃ ┃ ┣ 📜infoFix.tsx // 내정보 수정 페이지
┃ ┃ ┗ 📜sell.tsx // 내판매 페이지
┃ ┣ 📂offer //  가격 제시 페이지
┃ ┣ 📂profile // 유저 정보 페이지
┃ ┣ 📂sell // 판매글 관련 페이지
┃ ┣ 📂suggests // 구매 제안 목록 페이지
┃ ┣ 📜_app.tsx
┃ ┣ 📜_document.tsx
┃ ┗ 📜index.tsx
┣ 📂public // 정적 이미지 에셋들을 저장하는 폴더
┣ 📂recoil // recoil로 관리할 상태로 구성
┣ 📂styles // 전역 스타일 및 여러 컴포넌트에서 공유하는 스타일 파일을 저장하는 폴더
┃ ┣ 📜globalStyle.ts
┃ ┗ 📜theme.ts
┣ 📂types // 여러 컴포넌트에서 공통적으로 사용되는 타입들로 구성
┃ ┣ 📂axios // 정적 이미지 에셋들을 저장하는 폴더
┃ ┣ 📂recoil // recoil로 관리할 상태로 구성
┃ ┣ 📜container.ts // children interface 타입 지정
┃ ┗ 📜page.d.ts // AppLayout 타입 지정
┣ 📂utils //여러 컴포넌트에서 사용되는 유틸함수들로 구성
┃ ┗ 📜price.ts // 가격에 1000단위마다 ,(콤마) 찍히도록하는 유틸함수
┣ 📜.babelrc
┣ 📜.eslintrc.json
┣ 📜.gitignore
┣ 📜.pnp.cjs
┣ 📜.pnp.loader.mjs
┣ 📜.prettierrc
┣ 📜.yarnrc.yml
┣ 📜README.md
┣ 📜next-env.d.ts
┣ 📜next.config.js
┣ 📜package.json
┣ 📜tsconfig.json
┗ 📜yarn.lock

🤝 Dependencies

  "dependencies": {
    "@tanstack/react-query": "^4.20.4",
    "@testing-library/jest-dom": "^5.14.1",
    "@testing-library/react": "^13.0.0",
    "@testing-library/user-event": "^13.2.1",
    "@types/jest": "^29.2.4",
    "@types/react-dom": "^18.0.9",
    "axios": "^1.2.1",
    "next": "12",
    "react": "^18.2.0",
    "react-daum-postcode": "^3.1.1",
    "react-dom": "^18.2.0",
    "react-is": "^18.2.0",
    "react-slick": "^0.29.0",
    "recoil": "^0.7.6",
    "slick-carousel": "^1.8.1",
    "styled-components": "^5.3.6",
    "styled-reset": "^4.4.4",
    "supports-color": "^9.3.1",
    "typescript": "^4.9.4",
    "web-vitals": "^2.1.0"
  },
  "devDependencies": {
   "@svgr/webpack": "^6.5.1",
    "@types/eslint": "^8",
    "@types/node": "^18.11.17",
    "@types/prettier": "^2",
    "@types/react": "^18",
    "@types/react-slick": "^0.23.10",
    "@types/slick-carousel": "^1",
    "@types/styled-components": "^5.1.26",
    "@typescript-eslint/eslint-plugin": "^5.47.0",
    "@typescript-eslint/parser": "^5.47.0",
    "@yarnpkg/sdks": "^3.0.0-rc.34",
    "babel-plugin-styled-components": "^2.0.7",
    "eslint": "^8.30.0",
    "eslint-config-prettier": "^8.5.0",
    "eslint-plugin-import": "^2.26.0",
    "eslint-plugin-jsx-a11y": "^6.6.1",
    "eslint-plugin-prettier": "^4.2.1",
    "eslint-plugin-react": "^7.31.11",
    "eslint-plugin-react-hooks": "^4.6.0",
    "prettier": "^2.8.1"
  }

⭐️ 서비스 핵심 기능

📄 Docs

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •