/Shaki_server

신개념 공유주방 플랫폼

Primary LanguageTypeScript

SHAKI

신개념 공유주방 플랫폼
[Sha(re) Ki(tchen)] 쉐이키

연인과의 데이트나 지인들과의 모임 전 고민이 오늘 뭐 먹지?, 어디 음식점을 가야 하지?, 우리 인원이 다 들어갈 수 있을까? 고민이 될 때! 매 번 맛집을 검색해서 가도 웨이팅(waiting) 너무 길고 지난번 갔던 그 음식점은 한 번 가봐서 끌리지 않을때!! 공유주방 Shaki(쉐이키) 가 이색적인 모임공간을 대여 해드립니다!

공유주방 Shaki(쉐이키)는 특별한 날 친구,연인,가족 들과 최신 시설의 주방 및 주방용품과 무드있는 식사공간을 대여해 맛있는 음식을 해 먹으면서 추억도 쌓고!, 위생적으로도 믿음이 가고!, 시끄럽든 안시끄럽든 남의 눈치 볼 필요 없고! 분위기 내고 싶은대로 골라서 대여 할 수 있는 소셜 다이닝 플랫폼입니다.

기술 스택

  • TypeScript
  • NodeJS
  • NestJS
  • GraphQL
  • TypeORM
  • Redis
  • Mysql
  • Docker
  • Git, Github
  • Kubernetes
  • GCP
  • Flow Chart

    ERD

    폴더 구조

    f7b3_team04_server
    ├── .vscode
    │   └── settings.json
    ├── src
    │   ├── apis
    │   │   ├── auth
    │   │   │   ├── auth.controller.ts
    │   │   │   ├── auth.module.ts
    │   │   │   ├── auth.resolver.ts
    │   │   │   └── auth.service.ts
    │   │   ├── branch
    │   │   │   ├── __test__
    │   │   │   │   ├── branch.resolver.spec.ts
    │   │   │   │   └── branch.service.spec.ts
    │   │   │   ├── entities
    │   │   │   │   └── branch.entity.ts
    │   │   │   ├── branch.module.ts
    │   │   │   ├── branch.resolver.ts
    │   │   │   └── branch.service.ts
    │   │   ├── file
    │   │   │   ├── file.module.ts
    │   │   │   ├── file.resolver.ts
    │   │   │   └── file.service.ts
    │   │   ├── https
    │   │   │   ├── https.controller.ts
    │   │   │   └── https.module.ts
    │   │   ├── iamport
    │   │   │   └── iamport.service.ts
    │   │   ├── payment
    │   │   │   ├── dto
    │   │   │   │   └── createPayment.input.ts
    │   │   │   ├── entities
    │   │   │   │   └── payment.entity.ts
    │   │   │   ├── payment.module.ts
    │   │   │   ├── payment.resolver.ts
    │   │   │   └── payment.service.ts
    │   │   ├── question
    │   │   │   ├── dto
    │   │   │   │   ├── createQuestion.input.ts
    │   │   │   │   └── replyQuestion.input.ts
    │   │   │   ├── entities
    │   │   │   │   └── question.entity.ts
    │   │   │   ├── question.module.ts
    │   │   │   ├── question.resolver.ts
    │   │   │   └── question.service.ts
    │   │   ├── review
    │   │   │   ├── dto
    │   │   │   │   └── createReview.input.ts
    │   │   │   ├── entities
    │   │   │   │   └── review.entity.ts
    │   │   │   ├── review.module.ts
    │   │   │   ├── review.resolver.ts
    │   │   │   └── review.service.ts
    │   │   ├── room
    │   │   │   ├── dto
    │   │   │   │   ├── createRoom.input.ts
    │   │   │   │   └── updateRoom.input.ts
    │   │   │   ├── entities
    │   │   │   │   ├── images.entity.ts
    │   │   │   │   ├── room.entity.ts
    │   │   │   │   └── review.entity.ts
    │   │   │   ├── room.module.ts
    │   │   │   ├── room.resolver.ts
    │   │   │   └── room.service.ts
    │   │   └── user
    │   │       ├── dto
    │   │       │   ├── createUser.input.ts
    │   │       │   └── updateUser.input.ts
    │   │       ├── entities
    │   │       │   └── user.entity.ts
    │   │       ├── user.module.ts
    │   │       ├── user.resolver.ts
    │   │       └── user.service.ts
    │   ├── commons
    │   │   ├── auth
    │   │   │   ├── jwt-access.strategy.ts
    │   │   │   ├── jwt-refresh.strategy.ts
    │   │   │   ├── jwt-social-google.strategy.ts
    │   │   │   ├── jwt-social-kakao.strategy.ts
    │   │   │   └── jwt-social-naver.strategy.ts
    │   │   ├── filter
    │   │   │   └── http-exception.filter.ts
    │   │   └── graphql
    │   │       └── http-exception.filter.ts
    │   ├── app.module.ts
    │   ├── app.moduleLocal.ts
    │   └── main.ts
    ├── test
    ├── .dockerignore
    ├── .eslintrc.js
    ├── .gitignore
    ├── .prettierrc
    ├── cloudbuild.yaml
    ├── docker-compose.prod.yaml
    ├── docker-compose.yaml
    ├── Dockerfile
    ├── Dockerfile.prod
    ├── nest-cli.json
    ├── package.json
    ├── README.md
    ├── tsconfig.build.json
    ├── tsconfig.json
    └── yarn.lock
    

    . env 설정

  • EMAIL_USER
  • EMAIL_PASS
  • EMAIL_SENDER
  • GOOGLE_CLIENT_ID
  • GOOGLE_CLIENT_SECRET
  • NAVER_CLIENT_ID
  • NAVER_CLIENT_SECRET
  • KAKAO_CLIENT_ID
  • KAKAO_CLIENT_SECRET
  • GCP_STORAGE_KEYFILENAME
  • GCP_STORAGE_PROJECTID
  • GCP_STORAGE_BUCKET
  • IMP_KEY
  • IMP_SECRET
  • ACCESS_KEY
  • REFRESH_KEY
  • BackEnd 팀원 역할

    임성준

  • Git 관리
  • ERD 설계 및 API DOCS 작업
  • Backend CI/CD 배포
  • 예약, 리뷰 및 문의 기능 구현
  • 테스트 코드 작성
  • 조영래

  • ERD 설계 및 API DOCS 작업
  • 로그인 기능 구현
  • 회원가입 기능 구현
  • 결제 기능 구현
  • 이미지 업로드 기능 구현
  • 테스트 코드 작성