Readme 파일 만들기

최다슬·2022년 3월 12일
0

⭐️Today I Learend

목록 보기
7/8

Main Project : 나만의 쇼핑몰 만들기


프로젝트 설명

  • 구글, 카카오, 네이버 소셜로그인 과 로그아웃 및 검증, 아임포트를 통한 결제와 결제취소, 트랜잭션 결제 검증, 썸네일 생성 구현 가능
  • 인증과 비인증 회원 권한 다르게 설정

배포주소

https://daseul.shop

  • 현재는 배포되어있지 않은 상태

기술스택

  • nodejs
  • typescript
  • mysql
  • kubernetes
  • elasticsearch
  • redis
  • logstash
  • nest
  • GCP
  • Graphql
  • Docker
  • Axios

ERD 설계

파이프라인

프로젝트 설치 방법 & 실행 방법

  1. click Use this template and use this template!
  2. Install yarn packages

폴더구조

📦main-project
 ┣ 📂backend
 ┃ ┣ 📂elk
 ┃ ┃ ┣ 📂elasticsearch
 ┃ ┃ ┣ 📂kibana
 ┃ ┃ ┗ 📂logstash
 ┃ ┃ ┃ ┣ 📜logstash.conf
 ┃ ┃ ┃ ┗ 📜mysql-connector-java-8.0.28.jar
 ┃ ┣ 📂src
 ┃ ┃ ┣ 📂apis
 ┃ ┃ ┃ ┣ 📂auth
 ┃ ┃ ┃ ┃ ┣ 📜auth.controlloer.ts
 ┃ ┃ ┃ ┃ ┣ 📜auth.module.ts
 ┃ ┃ ┃ ┃ ┣ 📜auth.resolver.ts
 ┃ ┃ ┃ ┃ ┗ 📜auth.service.ts
 ┃ ┃ ┃ ┣ 📂file
 ┃ ┃ ┃ ┃ ┣ 📜file.module.ts
 ┃ ┃ ┃ ┃ ┣ 📜file.resolver.ts
 ┃ ┃ ┃ ┃ ┗ 📜file.service.ts
 ┃ ┃ ┃ ┣ 📂iamport
 ┃ ┃ ┃ ┃ ┗ 📜iamport.service.ts
 ┃ ┃ ┃ ┣ 📂orderStatus
 ┃ ┃ ┃ ┃ ┗ 📂entities
 ┃ ┃ ┃ ┃ ┃ ┗ 📜orderStatus.entity.ts
 ┃ ┃ ┃ ┣ 📂payment
 ┃ ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┃ ┗ 📜payment.entity.ts
 ┃ ┃ ┃ ┃ ┣ 📜payment.module.ts
 ┃ ┃ ┃ ┃ ┣ 📜payment.resolver.ts
 ┃ ┃ ┃ ┃ ┗ 📜payment.service.ts
 ┃ ┃ ┃ ┣ 📂product
 ┃ ┃ ┃ ┃ ┣ 📂dto
 ┃ ┃ ┃ ┃ ┃ ┣ 📜createProduct.input.ts
 ┃ ┃ ┃ ┃ ┃ ┗ 📜updateProduct.input.ts
 ┃ ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┃ ┗ 📜product.entity.ts
 ┃ ┃ ┃ ┃ ┣ 📜product.module.ts
 ┃ ┃ ┃ ┃ ┣ 📜product.resolver.ts
 ┃ ┃ ┃ ┃ ┗ 📜product.service.ts
 ┃ ┃ ┃ ┣ 📂productAddInformation
 ┃ ┃ ┃ ┃ ┗ 📂entities
 ┃ ┃ ┃ ┃ ┃ ┗ 📜productAddInformation.entity.ts
 ┃ ┃ ┃ ┣ 📂productAllergy
 ┃ ┃ ┃ ┃ ┗ 📂entities
 ┃ ┃ ┃ ┃ ┃ ┗ 📜productAllergy.entity.ts
 ┃ ┃ ┃ ┣ 📂productImage
 ┃ ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┃ ┗ 📜productImage.entity.ts
 ┃ ┃ ┃ ┃ ┣ 📜productImage.module.ts
 ┃ ┃ ┃ ┃ ┣ 📜productImage.resolver.ts
 ┃ ┃ ┃ ┃ ┗ 📜productImage.service.ts
 ┃ ┃ ┃ ┣ 📂productMainCategory
 ┃ ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┃ ┗ 📜productMainCategory.entity.ts
 ┃ ┃ ┃ ┃ ┣ 📜.DS_Store
 ┃ ┃ ┃ ┃ ┣ 📜productMainCategory.module.ts
 ┃ ┃ ┃ ┃ ┣ 📜productMainCategory.resolver.ts
 ┃ ┃ ┃ ┃ ┗ 📜productMainCategory.service.ts
 ┃ ┃ ┃ ┣ 📂productSubCategory
 ┃ ┃ ┃ ┃ ┣ 📂dto
 ┃ ┃ ┃ ┃ ┃ ┗ 📜createSubCategory.input.ts
 ┃ ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┃ ┗ 📜productSubCategory.entity.ts
 ┃ ┃ ┃ ┃ ┣ 📜productSubCategory.module.ts
 ┃ ┃ ┃ ┃ ┣ 📜productSubCategory.resolver.ts
 ┃ ┃ ┃ ┃ ┗ 📜productSubCategory.service.ts
 ┃ ┃ ┃ ┣ 📂user
 ┃ ┃ ┃ ┃ ┣ 📂dto
 ┃ ┃ ┃ ┃ ┃ ┣ 📜createUser.input.ts
 ┃ ┃ ┃ ┃ ┃ ┗ 📜updateUser.input.ts
 ┃ ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┃ ┗ 📜user.entity.ts
 ┃ ┃ ┃ ┃ ┣ 📜user.module.ts
 ┃ ┃ ┃ ┃ ┣ 📜user.resolver.ts
 ┃ ┃ ┃ ┃ ┗ 📜user.service.ts
 ┃ ┃ ┃ ┗ 📜.DS_Store
 ┃ ┃ ┣ 📂common
 ┃ ┃ ┃ ┣ 📂auth
 ┃ ┃ ┃ ┃ ┣ 📜gql-auth.guard.ts
 ┃ ┃ ┃ ┃ ┣ 📜gql-user.param.ts
 ┃ ┃ ┃ ┃ ┣ 📜jwt-access.strategy.ts
 ┃ ┃ ┃ ┃ ┣ 📜jwt-refresh.strategy.ts
 ┃ ┃ ┃ ┃ ┣ 📜jwt-social-goole.strategy.ts
 ┃ ┃ ┃ ┃ ┣ 📜jwt-social-kakao.strategy.ts
 ┃ ┃ ┃ ┃ ┗ 📜jwt-social-naver.strategy.ts
 ┃ ┃ ┃ ┣ 📂filter
 ┃ ┃ ┃ ┃ ┗ 📜http-exception.filter.ts
 ┃ ┃ ┃ ┣ 📂graphql
 ┃ ┃ ┃ ┃ ┗ 📜schema.gql
 ┃ ┃ ┃ ┗ 📂libraries
 ┃ ┃ ┃ ┃ ┗ 📜utils.ts
 ┃ ┃ ┣ 📜.DS_Store
 ┃ ┃ ┣ 📜app.module.ts
 ┃ ┃ ┗ 📜main.ts
 ┃ ┣ 📂test
 ┃ ┃ ┣ 📜app.e2e-spec.ts
 ┃ ┃ ┗ 📜jest-e2e.json
 ┃ ┣ 📜.DS_Store
 ┃ ┣ 📜.dockerignore
 ┃ ┣ 📜.env
 ┃ ┣ 📜.eslintrc.js
 ┃ ┣ 📜.gitignore
 ┃ ┣ 📜.prettierrc
 ┃ ┣ 📜Dockerfile
 ┃ ┣ 📜README.md
 ┃ ┣ 📜docker-compose.yaml
 ┃ ┣ 📜gcp-file-storage.json
 ┃ ┣ 📜nest-cli.json
 ┃ ┣ 📜package.json
 ┃ ┣ 📜tsconfig.build.json
 ┃ ┣ 📜tsconfig.json
 ┃ ┣ 📜yarn-error.log
 ┃ ┗ 📜yarn.lock
 ┣ 📂frontend
 ┃ ┣ 📂img
 ┃ ┃ ┣ 📜back-ground.jpg
 ┃ ┃ ┣ 📜facebook.png
 ┃ ┃ ┣ 📜google.png
 ┃ ┃ ┣ 📜kakao.png
 ┃ ┃ ┣ 📜menu-back-ground.jpg
 ┃ ┃ ┣ 📜naver.png
 ┃ ┃ ┣ 📜starbucks.png
 ┃ ┃ ┗ 📜user-back-ground.jpg
 ┃ ┣ 📂login
 ┃ ┃ ┣ 📜index.css
 ┃ ┃ ┗ 📜index.html
 ┃ ┣ 📜.DS_Store
 ┃ ┗ 📜payment.html
 ┣ 📂functions
 ┃ ┣ 📜generateThumbnail.js
 ┃ ┗ 📜review.generateThumbnail.js
 ┣ 📜.DS_Store
 ┣ 📜tree.txt
 ┗ 📜yarn.lock

env

  • Google, naver, kakao : Client ID, Client secret, Client callback
  • Iamport : IMP key, IMP secret
  • GCP : Storage bucket, Storage key filename, Storage projet ID
  • Token : Access token, Refresh token

API 설계

기능요청 방법
FetchQuery{API name } {request col}
CreateMutation{API name: contents} {request col}
UpdateMutation{API name: contents} {request col}
DeleteMutation{API name: contents} {request col}
loginMutation{API name: contents} {request col}
logoutMutation{API name: contents} {request col}

0개의 댓글