Skip to content

code-bootcamp/Dangder-server

Repository files navigation

TEAM VIEWPOINT

Dangder_Logo_2x1



Dangder

860만 반려동물 시대를 맞이한 대한민국! (기사) 🐶 애견인들은 이미 다양한 커뮤니티 안에서 여러 활동을 하고 있습니다.

반려동물의 다양한 경험과 활동을 위해 열심을 다하는 애견인들을 위한 프로젝트 🐾 ‘Dangder’ (댕더) 는

반려견의 Play-Mate 를 찾아 함께함을 통해 반려견(댕댕이) ‘멍라밸'의 질을 높이기 위한 서비스로,

친구와 함께 할 때 더 즐거워하는 사랑스러운 우리 댕댕이들을 위해

플랫폼을 통해 산책, 간식, 애견카페(애견수영장 애견수영장 애견캠핑 등..)탐방을 함께 할 친구를 찾고

서로 마음이 맞는 친구를 매칭시켜 채팅을 통해 함께 만나 볼 수 있는 기능을 제공하여

더 행복한 멍라벨을 누릴 수 있도록 지원하는

애견인과 댕댕이를 위한 프로젝트입니다. 🦴

혹시.. 댕더세요? ❤️

댕댕이의 사랑을 위하여. ‘댕댕이, 라이프, 업' - Dangder🔥



팀원 소개

스크린샷 2022-10-03 오후 3 34 37



기술 스택

스크린샷 2022-10-03 오후 3 37 20



Flow Chart

user-flow chart



ERD

Dangder 2 0



API

api



서버 폴더구조

 ┣ 📂.vscode
 ┃ ┗ 📜settings.json
 ┣ 📂elk
 ┃ ┗ 📂logstash
 ┃ ┃ ┣ 📜logstash.conf
 ┃ ┃ ┣ 📜mysql-connector-java-8.0.28.jar
 ┃ ┃ ┗ 📜search-avoid-breed-template.json
 ┣ 📂frontend
 ┃ ┗ 📜payment.html
 ┣ 📂src
 ┃ ┣ 📂apis
 ┃ ┃ ┣ 📂adminUsers
 ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┗ 📜adminUser.entity.ts
 ┃ ┃ ┃ ┣ 📜adminUsers.module.ts
 ┃ ┃ ┃ ┣ 📜adminUsers.resolver.ts
 ┃ ┃ ┃ ┗ 📜adminUsers.service.ts
 ┃ ┃ ┣ 📂auths
 ┃ ┃ ┃ ┣ 📜auths.controller.ts
 ┃ ┃ ┃ ┣ 📜auths.module.ts
 ┃ ┃ ┃ ┣ 📜auths.resolver.ts
 ┃ ┃ ┃ ┗ 📜auths.service.ts
 ┃ ┃ ┣ 📂avoidBreeds
 ┃ ┃ ┃ ┣ 📂dto
 ┃ ┃ ┃ ┃ ┗ 📜avoidBreed.input.ts
 ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┗ 📜avoidBreed.entity.ts
 ┃ ┃ ┃ ┣ 📜avoidBreeds.module.ts
 ┃ ┃ ┃ ┣ 📜avoidBreeds.resolver.ts
 ┃ ┃ ┃ ┗ 📜avoidBreeds.service.ts
 ┃ ┃ ┣ 📂blockUsers
 ┃ ┃ ┃ ┣ 📂dto
 ┃ ┃ ┃ ┃ ┣ 📜createBlockUser.input.ts
 ┃ ┃ ┃ ┃ ┗ 📜updateBlockUser.input.ts
 ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┗ 📜blockUser.entity.ts
 ┃ ┃ ┃ ┣ 📜blockUsers.module.ts
 ┃ ┃ ┃ ┣ 📜blockUsers.resolver.ts
 ┃ ┃ ┃ ┗ 📜blockUsers.service.ts
 ┃ ┃ ┣ 📂breeds
 ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┗ 📜breed.entity.ts
 ┃ ┃ ┃ ┣ 📜breeds.module.ts
 ┃ ┃ ┃ ┣ 📜breeds.resolver.ts
 ┃ ┃ ┃ ┗ 📜breeds.service.ts
 ┃ ┃ ┣ 📂characters
 ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┗ 📜character.entity.ts
 ┃ ┃ ┃ ┣ 📜characters.module.ts
 ┃ ┃ ┃ ┣ 📜characters.resolver.ts
 ┃ ┃ ┃ ┗ 📜characters.service.ts
 ┃ ┃ ┣ 📂chatMessages
 ┃ ┃ ┃ ┣ 📂dto
 ┃ ┃ ┃ ┃ ┗ 📜chatMessageInput.input.ts
 ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┗ 📜chatMessage.entity.ts
 ┃ ┃ ┃ ┣ 📜chatMessages.module.ts
 ┃ ┃ ┃ ┣ 📜chatMessages.resolver.ts
 ┃ ┃ ┃ ┗ 📜chatMessages.service.ts
 ┃ ┃ ┣ 📂chatRooms
 ┃ ┃ ┃ ┣ 📂dto
 ┃ ┃ ┃ ┃ ┗ 📜chatRoomsOutput.output.ts
 ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┗ 📜chatRoom.entity.ts
 ┃ ┃ ┃ ┣ 📜chatRooms.module.ts
 ┃ ┃ ┃ ┣ 📜chatRooms.resolver.ts
 ┃ ┃ ┃ ┗ 📜chatRooms.service.ts
 ┃ ┃ ┣ 📂dogs
 ┃ ┃ ┃ ┣ 📂dto
 ┃ ┃ ┃ ┃ ┣ 📜aroundDog.output.ts
 ┃ ┃ ┃ ┃ ┣ 📜createDog.input.ts
 ┃ ┃ ┃ ┃ ┗ 📜updateDog.input.ts
 ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┗ 📜dog.entity.ts
 ┃ ┃ ┃ ┣ 📜dogs.module.ts
 ┃ ┃ ┃ ┣ 📜dogs.resolver.ts
 ┃ ┃ ┃ ┗ 📜dogs.service.ts
 ┃ ┃ ┣ 📂dogsImages
 ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┗ 📜dogImage.entity.ts
 ┃ ┃ ┃ ┣ 📜dogsImages.module.ts
 ┃ ┃ ┃ ┣ 📜dogsImages.resolver.ts
 ┃ ┃ ┃ ┗ 📜dogsImages.service.ts
 ┃ ┃ ┣ 📂donateIOs
 ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┗ 📜donateIO.entity.ts
 ┃ ┃ ┃ ┣ 📜donateIOs.module.ts
 ┃ ┃ ┃ ┣ 📜donateIOs.resolver.ts
 ┃ ┃ ┃ ┗ 📜donateIOs.service.ts
 ┃ ┃ ┣ 📂donates
 ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┗ 📜donate.entity.ts
 ┃ ┃ ┃ ┣ 📜donates.module.ts
 ┃ ┃ ┃ ┣ 📜donates.resolver.ts
 ┃ ┃ ┃ ┗ 📜donates.service.ts
 ┃ ┃ ┣ 📂files
 ┃ ┃ ┃ ┣ 📜files.module.ts
 ┃ ┃ ┃ ┣ 📜files.resolver.ts
 ┃ ┃ ┃ ┗ 📜files.service.ts
 ┃ ┃ ┣ 📂imports
 ┃ ┃ ┃ ┣ 📜imports.module.ts
 ┃ ┃ ┃ ┣ 📜imports.resolver.ts
 ┃ ┃ ┃ ┗ 📜imports.services.ts
 ┃ ┃ ┣ 📂interests
 ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┗ 📜interest.entity.ts
 ┃ ┃ ┃ ┣ 📜interests.module.ts
 ┃ ┃ ┃ ┣ 📜interests.resolver.ts
 ┃ ┃ ┃ ┗ 📜interests.service.ts
 ┃ ┃ ┣ 📂likes
 ┃ ┃ ┃ ┣ 📂dto
 ┃ ┃ ┃ ┃ ┣ 📜createLike.input.ts
 ┃ ┃ ┃ ┃ ┣ 📜createLike.output.ts
 ┃ ┃ ┃ ┃ ┗ 📜todayLikeDog.output.ts
 ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┗ 📜like.entity.ts
 ┃ ┃ ┃ ┣ 📜likes.module.ts
 ┃ ┃ ┃ ┣ 📜likes.resolver.ts
 ┃ ┃ ┃ ┗ 📜likes.service.ts
 ┃ ┃ ┣ 📂locations
 ┃ ┃ ┃ ┣ 📂dto
 ┃ ┃ ┃ ┃ ┗ 📜location.input.ts
 ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┗ 📜location.entity.ts
 ┃ ┃ ┃ ┣ 📜locations.module.ts
 ┃ ┃ ┃ ┣ 📜locations.resolver.ts
 ┃ ┃ ┃ ┗ 📜locations.service.ts
 ┃ ┃ ┣ 📂orders
 ┃ ┃ ┃ ┣ 📂dto
 ┃ ┃ ┃ ┃ ┣ 📜createOrder.input.ts
 ┃ ┃ ┃ ┃ ┗ 📜updateOrder.input.ts
 ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┗ 📜order.entity.ts
 ┃ ┃ ┃ ┣ 📜orders.module.ts
 ┃ ┃ ┃ ┣ 📜orders.resolver.ts
 ┃ ┃ ┃ ┗ 📜orders.service.ts
 ┃ ┃ ┣ 📂passTickets
 ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┗ 📜passTicket.entity.ts
 ┃ ┃ ┃ ┣ 📜passTickets.module.ts
 ┃ ┃ ┃ ┣ 📜passTickets.resolver.ts
 ┃ ┃ ┃ ┗ 📜passTickets.service.ts
 ┃ ┃ ┣ 📂payments
 ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┗ 📜payment.entity.ts
 ┃ ┃ ┃ ┣ 📜payments.module.ts
 ┃ ┃ ┃ ┣ 📜payments.resolver.ts
 ┃ ┃ ┃ ┗ 📜payments.service.ts
 ┃ ┃ ┣ 📂products
 ┃ ┃ ┃ ┣ 📂dto
 ┃ ┃ ┃ ┃ ┣ 📜createProduct.input.ts
 ┃ ┃ ┃ ┃ ┗ 📜updateProduct.input.ts
 ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┗ 📜product.entity.ts
 ┃ ┃ ┃ ┣ 📜products.module.ts
 ┃ ┃ ┃ ┣ 📜products.resolver.ts
 ┃ ┃ ┃ ┗ 📜products.service.ts
 ┃ ┃ ┣ 📂reports
 ┃ ┃ ┃ ┣ 📂dto
 ┃ ┃ ┃ ┃ ┗ 📜createReport.input.ts
 ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┗ 📜report.entity.ts
 ┃ ┃ ┃ ┣ 📜reports.module.ts
 ┃ ┃ ┃ ┣ 📜reports.resolver.ts
 ┃ ┃ ┃ ┗ 📜reports.service.ts
 ┃ ┃ ┗ 📂users
 ┃ ┃ ┃ ┣ 📂dto
 ┃ ┃ ┃ ┃ ┣ 📜createUser.input.ts
 ┃ ┃ ┃ ┃ ┣ 📜updateUser.input.ts
 ┃ ┃ ┃ ┃ ┗ 📜userOutput.output.ts
 ┃ ┃ ┃ ┣ 📂entities
 ┃ ┃ ┃ ┃ ┗ 📜user.entity.ts
 ┃ ┃ ┃ ┣ 📜users.module.ts
 ┃ ┃ ┃ ┣ 📜users.resolver.ts
 ┃ ┃ ┃ ┗ 📜users.service.ts
 ┃ ┣ 📂commons
 ┃ ┃ ┣ 📂auth
 ┃ ┃ ┃ ┣ 📜gql-auth.guard.ts
 ┃ ┃ ┃ ┣ 📜jwt-access.strategy.ts
 ┃ ┃ ┃ ┣ 📜jwt-admin-access.strategy.ts
 ┃ ┃ ┃ ┣ 📜jwt-admin-refresh.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
 ┃ ┃ ┃ ┗ 📜schema.gql
 ┃ ┃ ┣ 📂libraries
 ┃ ┃ ┃ ┗ 📜utils.ts
 ┃ ┃ ┣ 📂mailTemplates
 ┃ ┃ ┃ ┣ 📂layouts
 ┃ ┃ ┃ ┃ ┣ 📜footer.pug
 ┃ ┃ ┃ ┃ ┣ 📜header.pug
 ┃ ┃ ┃ ┃ ┣ 📜layout.pug
 ┃ ┃ ┃ ┃ ┗ 📜styles.css
 ┃ ┃ ┃ ┗ 📜tokenSend.pug
 ┃ ┃ ┗ 📂type
 ┃ ┃ ┃ ┣ 📜authUser.ts
 ┃ ┃ ┃ ┗ 📜context.ts
 ┃ ┣ 📂gateways
 ┃ ┃ ┗ 📂chat
 ┃ ┃ ┃ ┣ 📜chat.gateway.ts
 ┃ ┃ ┃ ┣ 📜chat.module.ts
 ┃ ┃ ┃ ┗ 📜chat.service.ts
 ┃ ┣ 📜app.controller.ts
 ┃ ┣ 📜app.module.ts
 ┃ ┗ 📜main.ts
 ┣ 📂test
 ┃ ┣ 📜app.e2e-spec.ts
 ┃ ┗ 📜jest-e2e.json
 ┣ 📜.dockerignore
 ┣ 📜.env.dev
 ┣ 📜.eslintrc.js
 ┣ 📜.gitignore
 ┣ 📜.prettierrc
 ┣ 📜Dockerfile
 ┣ 📜README.md
 ┣ 📜docker-compose.dev.yaml
 ┣ 📜gcp-file-storage-dangder.json
 ┣ 📜nest-cli.json
 ┣ 📜package.json
 ┣ 📜tsconfig.build.json
 ┣ 📜tsconfig.json
 ┗ 📜yarn.lock



.env


# DB INFO on DOCKER
DATABASE_TYPE
DATABASE_HOST
DATABASE_PORT
DATABASE_USERNAME
DATABASE_PASSWORD
DATABASE_DATABASE

# Google Login API
GOOGLE_CLIENT_ID
GOOGLE_CLIENT_SECRET
GOOGLE_CALLBACK_URL

# Naver Login API
NAVER_CLIENT_ID
NAVER_CLIENT_SECRET
NAVER_CALLBACK_URL

# Kakao Login API
KAKAO_CLIENT_ID
KAKAO_CLIENT_SECRET
KAKAO_CALLBACK_URL
LOGIN_REDIRECT_URL

# TOKEN SECRET
JWT_ACCESS_SECRET
JWT_REFRESH_SECRET

# Open API ServiceKey
OPENAPI_SERVICEKEY

# MAILER ENV with GMAIL
MAILER_GMAIL_USER
MAILER_GMAIL_PASS
MAILER_GMAIL_SENDER

# GCP API
STORAGE_BUCKET
STORAGE_PROJECT_ID
STORAGE_KET_FILENAME

# IAMPORT KEY 
IAMPORT_REST_API_KEY
IAMPORT_REST_API_SECRET

# REDIS URL
CACHE_REDIS_URL

# ADMIN TOKEN SECRET
JWT_ADMIN_ACCESS_SECRET
JWT_ADMIN_REFRESH_SECRET

# BCRYPT SALT
BCRYPT_USER_SALT=3.141592
BCRYPT_ADMIN_SALT=1.414213

# Dangder - Google Login API
DANGDER_GOOGLE_CLIENT_ID
DANGDER_GOOGLE_CLIENT_SECRET

# Dangder - Kakao Login API
DANGDER_KAKAO_CLIENT_ID
DANGDER_KAKAO_CLIENT_SECRET

# Dangder - Naver Login API
DANGDER_NAVER_CLIENT_ID
DANGDER_NAVER_CLIENT_SECRET