Skip to content

dtc03003/project1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fitmate

🤔 ‘소개팅할 때 뭐 입고 가지?’

그런 생각해 본 적 없나요? ‘내일 출근할 때 뭐 입고 가지?’, ‘여행갈 때 뭐 입지?’ 등등... 패알못이지만 가끔 차려입고 가고 싶은 날이 있잖아요. 그렇지만 어떻게 입어야 할 지 도무지 모르겠고... 그럴 때면 ‘나를 위한 스타일리스트가 있었으면...’ 하고 생각하게 되죠. 그래서 준비해봤어요.

“스타일리스트 매칭 서비스!”

👏 Fitmate는 이런 분들을 위해 만들었어요.

  • 옷을 잘 입고 싶은 평범남 평범녀
  • 내일 친구 결혼식에 가는 하객
  • 특별한 기념일을 앞두고 무슨 옷을 입을지 고민하는 나
  • 경력을 쌓고 싶은 스타일리스트
  • 스타일링을 통해 수익을 얻고 싶은 일반인

💡 자, 이제 사이트를 한 번 둘러보죠!

메인 페이지 (Main page)

메인 페이지 (Main page)

포트폴리오 (Portfolio, View of Stylist)

포트폴리오 (Portfolio, View of Stylist)

스타일리스트의 예약 정보 확인 (Schedule in Portfolio, View of Stylist)

스타일리스트의 예약 정보 확인 (Schedule in Portfolio, View of Stylist)

포트폴리오_스케줄 (Schedule in Portfolio, View of User)

포트폴리오_스케줄 (Schedule in Portfolio, View of User)

스타일리스트 페이지 (Stylist page)

스타일리스트 페이지 (Stylist page)

스타일리스트 게시물 (Stylist Article)

스타일리스트 게시물 (Stylist Article)

예약 확정 후 결제 기록 확인 (History in MyPage, View of User)

예약 확정 후 결제 기록 확인 (History in MyPage, View of User)

상담실 (Meeting-room)

상담실 (Meeting-room)

🎞️ 글과 사진으론 부족하다! Fitmate를 영상으로 감상해보세요!

https://youtu.be/EnmqO5Hrvng

:

🛠️ 개발에 사용한 기술 스택을 알려드릴게요.

🖥️ Front-end

https://img.shields.io/badge/-Vue-%234FC08D?style=flat&logo=vue.js&logoColor=black https://img.shields.io/badge/-JavaScript-%23F7DF1E?style=flat&logo=JavaScript&logoColor=black https://img.shields.io/badge/Vuetify-1867C0?style=flat-square&logo=vuetify&logoColor=black https://img.shields.io/badge/-Bootstrap-%237952B3?style=flat&logo=Bootstrap&logoColor=white https://img.shields.io/badge/-Sass-%23CC6699?style=flat&logo=Sass&logoColor=black

🛢️ Back-end

https://img.shields.io/badge/-Java-%23007396?style=flat&logo=java&logoColor=white https://img.shields.io/badge/-SpringBoot-%236DB33F?style=flat&logo=springboot&logoColor=white https://img.shields.io/badge/-Swagger%203.0-%2385EA2D?style=flat&logo=swagger&logoColor=black https://img.shields.io/badge/-Hibernate-hibernate?style=flat&logo=hibernate&logoColor=black

🛠️ Tools

https://img.shields.io/badge/-Jira-0052CC?style=flat&logo=Jira&logoColor=white https://img.shields.io/badge/Docker-2496ED?style=flat&logo=Docker&logoColor=white https://img.shields.io/badge/-Amazon%20AWS-%23232F3E?style=flat&logo=Amazon%20aws&logoColor=white https://img.shields.io/badge/-AmazonS3-V9A31?style=flat&logo=amazons3&logoColor=white https://img.shields.io/badge/-Jenkins-%23D24939?style=flat&logo=jenkins&logoColor=white https://img.shields.io/badge/-MySQL-%234479A1?style=flat&logo=mysql&logoColor=white https://img.shields.io/badge/-NGINX-%23009639?style=flat&logo=NGINX&logoColor=white

🏗️ 아키텍처

Untitled

🧾Entity Relationship Diagram

ERD.jpg

👉 실행방법

Server

  1. Server 폴더 이동
$ cd backend/src/main/resources
  1. application.yml 작성
server:
  port: [포트번호]
  ssl:
    key-store-type: PKCS12
    key-store: classpath:[인증서 주소]
    key-store-password: [인증서 store 비밀번호]
    key-password: [인증서 비밀번호]

trust:
  store: classpath:[인증서 주소]
  store.password: [인증서 비밀번호]

springdoc:
  api-docs:
    path: /api-docs

# http://서버주소/swagger-ui.html
  swagger-ui:
    path: /swagger-ui.html

spring:
  datasource:
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://[DB주소]:[DB포트]/fitmate?useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Seoul
    username: [사용자명]
    password: [비밀번호]
  jpa:
    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
    generate-ddl: true
    hibernate:
      # ddl-auto: create-drop
     ddl-auto: update
    show-sql: true
    properties:
      hibernate:
        format_sql: false
  mail:
    host: smtp.gmail.com
    port: 587
    username: [이메일]
    password: [비밀번호]
    properties:
      mail:
        smtp:
          auth: true
          starttls:
            enable: true
logging:
  level:
    org:
      springframework.web.client: DEBUG
      hibernate.SQL: DEBUG
      hibernate.type: trace

jwt:
  header: Authorization
  secret: [비밀키]

social:
  kakao:
    client-id: [클라이언트 키]
    admin-key: [관리자 키]
    redirect: [주소]
    cid: TC0ONETIME
    url:
      login: https://kauth.kakao.com/oauth/authorize
      token: https://kauth.kakao.com/oauth/token
      profile: https://kapi.kakao.com/v2/user/me
      unlink: https://kapi.kakao.com/v1/user/unlink
      payment:
        ready: https://kapi.kakao.com/v1/payment/ready
  password: [비밀키]
cloud:
  aws:
    credentials:
      accessKey: [접근키]
      secretKey: [비밀키]
    s3:
      bucket: [버킷이름]
    region:
      static: [버킷지역]
    stack:
      auto: false
  1. 프로젝트 빌드
$ ./gradlew build
  1. 빌드 실행
$ cd build
$ java -jar [파일명].jar

Client

  1. 폴더로 이동
$ cd frontend/fitmate
  1. node_modules 설치
$ npm install
  1. 개발 서버 실행
$ npm run serve

💻 GIT Convention

📌 branch 이름 구조

구현기능명_Jira번호

EX) like_367

🔸like : 구현하는 기능의 이름

🔸367 : Jira에서 like에 해당하는 story 번호

📌 commit 메시지 구조

Type: 제목 본문 (노란색은 필수 작성)

EX) feat: 로그인 기능 구현

🔸Type: 어떤 내용의 commit 내용인지 type에 명시하는 태그 명(옵션)

🔸제목: commit 내용을 요약하여 작성

→ 긴 내용으로 작성하지 않는다!

🔸본문: commit 내용&설명 자세히 작성(필요한 경우)

→ commit 내용 자세히 써야 하는 경우 상세히 작성

→ 본문 작성 시 Enter 치고 작성

EX)
feat: portfolio 기능 구현
- 스케쥴 날짜 틀 만들기
- 주말 비활성화(선택X)
- 선택 날짜값 확인

🗂️ 태그 표(색 표시한 태그들 가장 많이 사용)

태그 명 태그 설명
feat 새로운 기능 추가
perf 성능 향상 위한 코드 수정
fix 버그 수정
design 사용자 UI 디자인 변경
!breaking change API 변경
!hotfix 급하게 치명적인 버그 수정한 경우
comment 필요한 주석 추가 및 변경
docs 문서 수정
test 테스트 추가, 테스트 리팩토링
chore 빌드 테스트 업데이트, 패키지 매니저 설정 경우
rename 파일 또는 폴더 명 수정하거나 옮기는 작업만 한 경우
remove 파일 삭제 작업만 한 경우
style 코드 포맷 변경, 새미 콜론 누락, 코드 수정 없는 경우
refactor 프로덕션 코드 리팩토링

⚖️ JIRA 규칙

🔸Epic : back-end / front-end 로 구분

→ 기타 Epic 등록 필요 시 추가 작성 가능( ex) UCC 제작)

🔸Story : 구현하고자 하는 기능명

🔸Sub Task: 자세한 구현 내용들 등록

🔸 1 story points = 1시간

  • 김동현 / Front-end

dtc03003 - Overview

  • 개발 내용
    • Notice, QnA
      • Notice CRUD
      • QnA CRUD
      • QnA 댓글 구현
    • Follow, Like
      • 게시물 Like 기능
      • 스타일리스트 Follow 기능
      • 스타일리스트 FollowList 기능
    • Stylist-Porfolio
      • Profile 페이지 구현
      • about 페이지 구현
    • MyPage 구현
      • MyPick
      • Mate구현

About

SSAFY 공통프로젝트

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published