Project

8LLOW S.A

ji_su_04 2023. 2. 6. 22:09

8LLOW S.A

 

프로젝트 설명

📌 운동(헬스) 동기부여 웹 앱

혼자 힘든 운동을 하게 된다면 금세 흥미가 떨어지기 마련입니다. 저희의 앱은 운동을 하는 분들이 충분히 동기 부여를 느낄 수 있도록 여러 기능을 제공합니다. 채팅 기능과 식단 공유, map api를 이용한 헬스장 같이 가기 등과 같은 기능을 통해 앱을 이용하는 사용자가 소속감을 느끼고 조금 더 동기 부여를 할 수 있도록 돕습니다.

 

기능

필수 기능

  • 회원가입
    • 로그인, 회원가입 페이지, mail 본인 인증, 비밀번호 찾기
  • 채팅
    • (웹소켓 or 소켓io)
  • 메인페이지
    • 페이지네이션
    • 글/ 유저 검색
  • 게시판
    • 글쓰기, 댓글 CRUD
    • 좋아요 기능
    • 북마크 기능
    • 글 최신순/인기순 정렬
      • 인기순 정렬은 좋아요 기능을 활용
    • 해시태그
  • My 페이지
    • 내 글 모아보기, 북마크 글 모아보기
  • 지도 api 활용한 내 주변 동기부여 도우미
  • Alert Modal, Confirm Modal
  • 스켈레톤 UI

추가기능

  • 팔로우 기능
  • 무한스크롤
  • Help Text

와이어 프레임

기술스택

사용 프레임워크

  • NEXT.js

사용 API

  • Map API

사용 라이브러리

  • Socket I.O
  • Redux vs Recoil
  • React-Query
  • Styled-components

Ground Rule

  • 매일 오전 9시, 오후 7시 : 금일 계획 / 진행상황 공유 및 회의록 작성
  • 문서화 잘하기 (이건 룰 아님)
  • 에러가 생기면 트러블 슈팅 페이지에 올릴 것. (30분동안 잡고있으면 올리자)
  • 1분이라도 지각하면 전화테러
  • 아프기 금지 ( 죽어도 젭 키고 죽기)
  • 하루에 3번 순두 보여주기 (윤지영 해당)

Convention

  • 깃모지 x
  • UI: UI 개발 및 UI 수정
  • Feat: 새로운 기능 추가, 소개
  • Fix: 수정, 버그 수정
  • Docs: 문서에 관련된 내용, 문서 수정
  • Style: 코드 포맷, 세미콜론 누락, 코드 변경이 없을 경우
  • Refactor: 리팩토링
  • Test: 테스트 코드 수정, 누락된 테스트를 추가할 때, 리팩토링 테스트 추가
  • Chore: 빌드 업무 수정, 패키지 매니저 수정
  • Add: 기존 기능에 develop
  • Share: 완성되지 않은 코드 공유

Commit

Title

  • 마침표 및 특수기호는 사용하지 않는다.
  • 영어로 작성시 첫 글자를 대문자로 쓴다.
  • 영문으로 표기한다.
  • 제목은 개조식 구문으로 작성한다. (간결하고 요점적인 서술)

Body

  • 본문 내용은 양에 구애받지 않고 최대한 상세히 작성한다.
  • 본문 내용은 무엇을 변경했는지 또는 왜 변경했는지를 설명한다. (변화에 대한 동기를 포함하고 이전 행동과 대조되어야 함)
  • 한글로 작성한다.

💡 커밋 컨벤션 예시

Feat: apply Login

로그인 기능 구현

by @GoMyamMii

 


PR

Title

  • 영어로 작성시 첫 글자를 대문자로 쓴다.
  • 영문으로 표기한다.

Body

  • 제목 크기는 h2 로 한다.
  • 제목은 항상 해당 페이지로 한다.
  • 페이지 별 변경, 추가 사항을 상세히 적는다.
  • 페이지 구분 선을 사용한다.
  • 한글로 작성한다.
  • 제일 윗 줄에 머지 경로를 적는다. ex) feature/login → dev

Styled Component

  • Wrapper : 해당 컴포넌트의 최상위 태그 (main 태그) ex) Main 컴포넌트의 최상위 태그는 MainWrapper
  • Container : 해당 컴포넌트의 구역 태그 (section 태그)
  • Box : 해당 컴포넌트의 Container 하위 태그
  • Text : 텍스트 관련 태그 (p, span, h1 ~ 5 등)
  • Input: input 태그
  • Btn: button 태그
  • font-size : px은 4의 배수로 or rem 사용
반응형