Skip to content

Programmers-Coach-Coach/Coach-Coach-client

Repository files navigation

🏀 코치코치 서비스

coachcoach-overview

  • 🌐 배포 URL : https://coach-coach.site/
  • 🗓️ 전체 프로젝트 기간 : 2024-07-24 ~ 2024-8-29
  • 📝 유지보수 기간 : 2024-09-02 ~




프로젝트 소개

운동 목표를 달성하고 싶으신가요? 코치코치와 함께 효율적인 운동을 시작해보세요! 🏋️‍♂️

코치코치는 운동 코치와 회원을 연결해주는 스마트한 플랫폼입니다. 개인 맞춤형 코칭과 지속적인 동기부여로 여러분의 운동 목표를 지원합니다. 🌟
사용자는 자신의 운동 목표에 맞는 코치를 찾고, 효과적인 운동 방법을 배울 수 있습니다. 시간의 제약없이 언제 어디서나 코치와 소통하고, 맞춤형 운동 루틴을 받아보세요!

  • 코치는 전문성을 바탕으로 맞춤형 운동 코칭을 제공하고, 다양한 고객층과 연결될 수 있는 기회를 제공합니다.

  • 회원은 자신의 운동 목표에 맞는 코치를 찾고, 효과적인 운동 방법을 배울 수 있습니다.

  • ☑️ 맞춤형 운동 루틴 작성 : 회원이 직접 루틴을 작성하거나 코치가 개인 맞춤형 루틴을 제공합니다!

  • 🔔 알림 기능 : 코치와 매칭 성공 시 즉시 알림을 제공하여 중요한 정보를 놓치지 않도록 합니다!

  • 📈 운동 기록 및 신체 정보 관리 : 운동 기록을 달력 형태로 확인하고, 신체 기록 데이터를 시각화하여 개인의 운동 성과와 변화를 쉽게 추적할 수 있습니다!

코치코치와 함께라면 여러분의 운동 목표는 더 이상 꿈이 아닙니다! 💪🚀 운동의 새로운 세계를 경험해보세요!


FE 팀원

고윤성 이현철 하주영

@yoonsaeng

@hcheorii

@hazzuu123




역할 분담

😛 하주영

  • UI
    • 페이지: 홈, 코치 리스트 검색, 상세 코치, 알림 조회, 기록(달력, 선차트)
    • 공통 컴포넌트: 드롭다운, 모달
  • 기능
    • 홈, 코치 리스트, 코치 상세 조회
    • 무한 스크롤
    • 좋아요 등록 및 해제
    • 리뷰 조회, 등록, 수정, 삭제
    • 배포, 커스텀 도메인
    • MSW 세팅

😎 고윤성

  • UI
    • 페이지: 내 루틴, 내 코치 루틴, 루틴 작성, 수정 모달, 매칭 회원 리스트
    • 공통 컴포넌트: 헤더, 푸터
  • 기능
    • 문의/매칭 회원 등록, 조회, 삭제
    • 루틴 조회
    • 루틴, 카테고리, 액션 추가, 수정 및 삭제
    • Github actions
    • Sentry, SEO 세팅

🙄 이현철

  • UI
    • 페이지: 로그인, 회원가입, 마이 페이지, 코치 전용 마이 페이지
    • 공통 컴포넌트: CSS 테마
  • 기능
    • 회원가입, 로그인
    • 마이페이지 조회, 수정
    • 토큰 재발급
    • 닉네임, 이메일 중복 확인
    • 로그아웃, 회원탈퇴
    • Storybook 세팅


기술스택

stackticon


개발 포인트

  • 트렁크 기반 전략 trunk
    • 트렁크 기반 전략은 main이라는 주 브랜치 하나만 운영하며, git flow과 다르게 dev 브랜치를 두지 않고, 신규 기능 브랜치는 바로 main브랜치로 병합합니다
    • 작업 단위를 더 잘게 쪼개어, 더 자주 커밋하고 병합합니다
    • 선택한 이유:
      • 브랜치 관리에 드는 시간과 노력이 절약되어, 6주간의 짧은 프로젝트에 적합하다고 판단
      • 배포 프로세스가 간단해져서, 더욱 자주 배포가 가능


📃 페이지별 기능

📌 인증

✔️ 회원가입

signup

  • 로그인 페이지에서 로그인 버튼 하위의 회원가입 링크를 통해 회원가입 페이지로 이동합니다.
  • 회원 가입 시 닉네임과 이메일, 비밀번호를 입력하면 입력창에서 바로 유효성 검사가 진행되고 통과하지 못한 경우 각 경고 문구가 입력창 하단에 표시됩니다.
    • 각 필드는 빈 값이면 안 됩니다.
    • 닉네임의 경우 숫자, 영어, 완성형 한글(가-힣)만 포함될 수 있으며 2~10자 내의 값이어야 합니다.
    • 비밀번호의 경우 알파벳, 숫자, 특수문자가 1개씩 포함되는 8~20자 내의 값이어야 합니다.
    • 이메일의 경우 이메일 형식이어야 합니다.
  • 닉네임과 이메일의 경우 중복 확인 과정을 거쳐야 하며, 중복될 경우 각 입력창 하단에 경구 문구가 나타납니다.
  • 작성이 완료된 후, 유효성 검사가 통과되면 회원가입에 성공하고, 로그인 페이지로 이동합니다.
  • 회원가입하면 무조건 회원으로 시작합니다!

✔️ 로그인

login

  • 이메일 또는 비밀번호가 틀릴 경우 경고 문구가 나타납니다.

✔️ 로그아웃

  • 로그인 페이지로 이동합니다.

✔️ 회원 탈퇴 (TODO: 위치)

  • 코치가 탈퇴하면 코치가 작성한 루틴은 내 루틴으로 갑니다

📌 프로필 수정

✔️ 내 프로필

myProfile

  • 로그인 한 유저만 진입할 수 있습니다.
  • 마이페이지로 이동하기 전 비밀번호 확인 페이지를 통해 비밀번호 확인 과정을 거칩니다.
    • 비밀번호가 틀릴 경우 경고 에러 메시지가 나타납니다.
  • 마이페이지에서 프로필을 수정할 수 있습니다.
    • 5MB 이하 크기의 프로필 이미지를 설정할 수 있습니다.
    • 닉네임을 수정할 수 있습니다. 단, 중복되지 않은 닉네임이어야 합니다.
    • 관심 종목을 선택할 수 있으며, 사는 지역에 대해서 적을 수 있습니다.
    • 자기소개를 작성할 수 있습니다.

✔️ 코치 전용 프로필

coachProfile2 coachProfile

  • 해당 탭을 이용하여 코치로 전환이 가능합니다.
  • 해당 페이지의 필드를 작성한 후 아래 수정하기 버튼을 클릭하면(최초 1회) 코치로 등록이 가능하며, 정보 공유 여부에 따라 코치 리스트에 추가됩니다.
    • 작성 가능한 필드는 코칭 종목, 자기 소개, 활동중인 센터, 문의 가능 시간, 오픈 카카오톡 링크, 정보 공개 선택이 있습니다.
    • 활동 중인 센터 필드는 선택 사항 입니다! 나머지 필드는 꼭 작성해주세요!!

📌 메인 페이지

mainInfo

✔️ 종목

  • 운동 종목들이 보입니다.
  • 종목을 클릭하면, 해당 종목을 코칭하는 코치 리스트를 볼 수 있습니다.
  • 배우고 싶은 종목을 클릭하여 이에 맞는 코치를 찾아보세요!

✔️ 인기 코치

  • 선택지가 많아 고민인 여러분께 제공하는 정보!
  • 최근 일주일 간 좋아요 수가 가장 많은 코치 3명을 보여줍니다.
  • 어떤 코치에게 코칭 받을 지 고민이 된다면, 인기 코치와 대화해 보는 것은 어떨까요?

📌 코치 리스트

coachList

✔️ 정렬 필터링

  • 최신순, 리뷰순, 좋아요순, MY(관심코치) 순으로 필터링 할 수 있습니다.
  • 기본값은 최신순입니다! 제일 최근에 코치 프로필을 등록/수정한 코치부터 볼 수 있어요.

✔️ 종목 필터링

  • 원하는 종목을 필터링하여 코치 리스트를 볼 수 있습니다.
  • 여러분이 관심있는 종목을 가르치는 코치를 찾아볼까요?

✔️ 관심 코치 등록/취소

  • 만약 관심이 가는데, 매칭 신청하기 망설여진다면 일단 좋아요로 코치를 찜해보세요!
  • 관심 코치로 등록하면 추후에 해당 코치를 확인하기 편해진답니다 ^_^

📌 코치 디테일

review

✔️ 카카오톡 문의

  • 코치가 코치 프로필에 등록한 오픈 카카오톡 링크로 들어갈 수 있습니다.
  • 이 기능은 추후에 채팅 서비스를 도입하면 사라집니다.
  • 조금만 기다려주세요!

✔️ 매칭 신청

  • 코치와 충분한 대화 후 매칭을 신청하고 싶다면 코치님께 매칭 신청하기 버튼을 눌러보세요!
  • 코치와 매칭되면, 코치가 직접 루틴을 짜주는 등 다양한 기능을 즐길 수 있답니다

✔️ 리뷰 작성

  • 다른 사용자들을 위해 리뷰를 남겨주세요!
  • 여러분의 리뷰는 다른 사용자에게 큰 도움이 될 것입니다.
  • 리뷰 테러를 방지하기 위해, 리뷰는 매칭을 신청한 코치에게만 작성할 수 있습니다!
  • 솔직한 건 좋되, 무분별한 비난은 자제❌부탁드려요!

📌 루틴 페이지

routine

  • 루틴 페이지에는 내 루틴과 내 코치 루틴이 있습니다.

✔️ 내 루틴

myRoutine

  • 사용자 본인이 자신만을 위한 루틴을 작성할 수 있습니다.
  • 루틴을 작성할 때에는 루틴 이름과 종목을 선택해야 합니다.
  • 루틴으로 들어가면 카테고리를 추가할 수 있습니다.
    • 카테고리 추가 시에는 카테고리 이름이 필수 입력값입니다.
    • 해당 카테고리 안에 세부적인 운동을 추가할 수 있습니다.
      • 운동명을 제외한 나머지 필드값은 선택입니다!
      • 본인의 기호에 맞게 작성해보세요! (ex: 10분 3세트, 10회 2세트)
    • 해당 카테고리 하위의 운동을 모두 완료하면 체크표시를 눌러보세요!
    • 완료된 운동은 기록페이지에서도 볼 수 있습니다!
    • 완료 여부는 자정이 지나면 초기화되니 꼬옥 바로바로 체크해주세요!

✔️ 내 코치 루틴

coachRoutine

  • 내 코치 루틴을 클릭하면 매칭된 코치와 매칭 진행 중인 코치를 볼 수 있습니다.
  • 매칭된 코치를 클릭하면, 해당 코치가 작성해준 루틴을 볼 수 있습니다
  • 코치가 작성해준 루틴을 보고, 운동해볼까요?

📌 알림 페이지

notification

  • 알림 페이지에서 알림을 볼 수 있습니다.
  • 확인한 알림은 개별 삭제할 수 있습니다.
  • 전체 알림을 확인했다면, 전체 삭제도 가능합니다!

✔️ 회원

  • 회원의 경우 아래와 같은 상황에서 알림이 옵니다!
    • 코치가 매칭 신청을 수락했을 때
    • 코치가 매칭 신청을 거절했을 때
    • 코치가 매칭 회원에서 삭제했을 때

✔️ 코치

  • 코치의 경우 아래와 같은 상황에서 알림이 옵니다!
    • 회원이 리뷰를 남겼을 때
    • 회원이 매칭을 신청했을 때

📌 매칭 회원 리스트

matchingList

  • 매칭 회원 리스트에서 매칭된 회원과 매칭 신청한 회원을 볼 수 있습니다.

✔️ 매칭 신청 수락/거절

  • 매칭을 신청한 회원(문의 회원)과 충분한 대화 후 해당 회원을 코칭하고 싶으면 해당 회원을 클릭한 후 회원 추가 버튼을 눌러주세요!
  • 만약, 해당 회원을 코칭하기 어려울 것 같다면 아쉽지만 다음을 기약하며 해당 회원을 클릭한 후 거절 버튼을 눌러주세요..

✔️ 매칭 회원 삭제

  • 매칭된 회원과 더 이상 매칭을 이어가고 싶지 않다면 삭제 버튼을 눌러주세요..
  • 일방적인 삭제는 자제❌해주세요!!

✔️ 회원 루틴 작성 (TODO 위치 선정)

  • 내 회원에서 회원 클릭 후 루틴 작성 버튼을 누르면 해당 회원의 루틴을 작성할 수 있는 페이지로 이동하게 됩니다.
  • 내 루틴에서 루틴 작성하는 것과 마찬가지로 루틴, 카테고리, 운동을 작성할 수 있습니다
    • 운동 가이드를 적어주면 회원이 더욱 쉽게 운동할 수 있겠죠?
    • 회원에게 알맞은 루틴을 작성해주세요! 수정도 가능하니, 걱정하지마세요~
    • 만약 한 회원에게 여러 종목을 가르친다면 새로운 루틴도 추가 가능하니, 여러분의 코칭 실력을 마음껏 뽐내보세요!

📌 기록 페이지

userRecord

  • 기록 페이지에서 운동 완료한 날을 도장 유무로 확인할 수 있습니다!
    • 이번 달을 도장으로 다 채워볼까요? 파이팅!
  • 아래 차트를 통해 신체 기록도 볼 수 있습니다
    • 그래프를 통해 더욱 한 눈에 볼 수 있는 신체 정보로 목표를 달성해보세요!
    • 탭을 눌러서 원하는 값을 볼 수 있습니다

✔️ 신체 기록 작성

  • 신체 기록을 작성하고 싶다면 해당 날짜를 클릭해보세요!
  • 변경 버튼을 누른 후, 신체 기록을 입력할 수 있습니다.
  • 저장 버튼 누르는 거 잊지마세요! 원하는 기록만 저장해도 좋으니 신체 기록도 꾸준히 남겨보아요!

✔️ 기록 디테일 페이지 조회

  • 날짜를 클릭하면 기록 디테일 페이지를 조회할 수 있어요
  • 해당 날짜에 완료한 운동과 기록한 신체 정보를 볼 수 있어요!

About

운동 코치와 회원을 매칭하는 서비스, 코치코치

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published