Skip to content

5unk3n/final-13-NuTalent

 
 

Repository files navigation

📎 배포 URL : https://nu-talent.vercel.app
🔓 계정 : [email protected] | 123123

"꺼내봐 너의 부캐"

  • 본인의 재능을 자유롭게 공유하고, 비슷한 관심사를 가진 사람들과 소통할 수 있어요.
  • 누구나 관심 있는 재능을 배우거나 창작물을 구매 및 판매할 수 있어요.

✨ 팀 소개

안녕하세요! 저희는 4명의 Front-end 개발자로 구성된 'IP-TIME' 입니다.
팀원들의 공통된 MBTI인 I,P에서 착안하게 되었어요.
주변에서 쉽게 연결할 수 있는 iptime 와이파이처럼 누구나 접근 가능하며 친숙한 서비스를 지향한다는 의미를 가지고 있습니다.
(🦁멋쟁이사자처럼 프론트엔드스쿨 5기 프로젝트 13팀)

강은초 손수민 이선근 한수정
ec_profile_img sm_profile_img sg_profile_img sj_profile_img
cho7778 suminson97 5unk3n soooee
문서화 & 소통 리더 디자인 & 기획 리더 개발 리더 팀 리더

✨ 역할 분담

👩🏻‍💻 강은초

  • 초기 폴더구조 세팅 및 환경설정
  • 로그인, 프로필 설정, 검색, 프로필 수정 페이지
  • 이메일, 회원가입 유효성 검사
  • Recoil로 전역 데이터 관리
  • 각 페이지 라우터 연결, 본인/타인 프로필 페이지 전환, splash 페이지 연결

🧑🏻‍💻 손수민

  • 상품 등록, 홈피드, 게시글 상세, 404 페이지
  • 이미지 유효성 검사, 무한 스크롤 구현, 리액트 포탈로 모달 구현
  • 피그마 디자인
  • 라우터 연결 및 폴더구조 수정

🧑🏻‍💻 이선근

  • 초기 개발환경 세팅 (PR, Issue 템플릿 생성)
  • 게시글 작성 및 수정, 프로필 페이지
  • 채팅 페이지 마크업 및 스타일링
  • PrivateRoute, 이미지 유효성 검사, 게시글 보기 방식 변경, 무한 스크롤 구현, 리액트 포탈로 모달 구현

👩🏻‍💻 한수정

  • 팔로우, 팔로잉, 회원가입, 인트로 페이지
  • 이메일, 회원가입 유효성 검사
  • 로그인 페이지 마크업 및 스타일링
  • 탭 메뉴 및 좋아요 버튼 활성화, 리액트 포탈로 모달 구현

👥 공통

  • 공통 컴포넌트
    • Alert
    • BottomSheetModal
    • Button
    • PostItem
    • ProductItem
    • TabMenu
    • TextActiveInput
    • Top

✨ 개발 환경

🛠 기술 스택

구분 설명
FrontEnd
BackEnd 제공된 API 사용

🛠 Package Manager

패키지 매니저 용도
yarn node.js환경에서 패키지 관리를 위해 사용

🛠 Node Modules

모듈명 도입계기
recoil 전역 상태 관리를 위해 사용
axios 서버와 통신을 위해 사용
react-router-dom 페이지 라우팅을 위해 사용
styled-reset 스타일 구현의 편의를 위해 사용

⚙️ 협업 툴

협업 툴명 용도
Git 프로젝트 파일 변경 사항을 추적하고 팀원들 간의 파일 작업 조율을 위해 분산 버전 관리 시스템 사용
GitHub Git저장소 호스팅을 위해 사용
GitKraken Git 히스토리를 시각화하기 위해 사용
Notion 협업에 필요한 전반적인 문서 관리를 위해 사용
discord GitHub과 연동하여 변동사항 추적을 위해 사용

🔧 협업 방식

  • Git-Flow 사용
    Git-Flow을 본 목적대로 사용하기 위해서는 main, hotfix, release, develop, feature 브랜치를 사용해야 하지만,
    3주라는 짧은 개발 일정feature, develop, main 브랜치만 우선적으로 사용하였습니다.

  • 컨벤션 소개

    커밋 컨벤션

    커밋 유형 의미
    Feat 새로운 기능 추가
    Fix 버그 수정
    Docs 문서 수정
    Style css 수정
    Refactor 코드 리팩토링
    Test 테스트 코드, 리팩토링 테스트 코드 추가
    Chore 패키지 매니저 수정, 그 외 기타 수정 ex) .gitignore
    Comment 필요한 주석 추가 및 변경
    Rename 파일 또는 폴더 명을 수정하거나 옮기는 작업만인 경우
    Remove 파일을 삭제하는 작업만 수행한 경우
    !BREAKING CHANGE 커다란 API 변경의 경우
    !HOTFIX 급하게 치명적인 버그를 고쳐야 하는 경우

    프리티어 설정

    {
      "trailingComma": "all",
      "tabWidth": 2,
      "semi": true,
      "singleQuote": true,
      "printWidth": 80
    }
    

✨ 프로젝트 소개

🗓 개발 기간

주차
1주차 : (6/1 ~ 6/3) - 서비스 기획 (컨셉 및 디자인)
- 사용할 기술 스택 정리
- 마일스톤 도입
2주차 : (6/4 ~ 6/10) - 초기 개발환경 세팅
- 기술 스택 세미나
- 공통 컴포넌트 구현
3주차 : (6/11 ~ 6/17) - 페이지 단위로 업무 분담하여 작업 시작
4주차 : (6/18 ~ 6/24) - 기능 테스트 및 오류 해결
- 주요 기능 구현 1차 완료
- 기능 테스트 및 오류 해결
5주차 : (6/25~6/29) - 기능 테스트 및 오류 해결
- 리팩토링
- README 작성

🎨 디자인

🖥 기능 UI

  • Splash, 로그인,회원가입,프로필 설정

    로그인 회원가입 프로필설정
  • 게시글

    게시글 등록 게시글 수정 게시글 삭제
  • 상품

    상품 등록 상품 수정 상품 삭제
  • 댓글

    댓글 등록 댓글 신고 댓글 삭제
  • 프로필 수정,나의 프로필,다른 유저 프로필

    프로필 수정 나의 프로필 다른 유저의 프로필
  • 채팅, NotFound 페이지, 로그아웃

    채팅 NotFound 페이지 로그아웃

폴더 구조

src
 ┣ assets
 ┃ ┗ img  // 이미지 파일
 ┣ components // 공통 컴포넌트
 ┃ ┣ Elements // 재사용 가능한 기본적인 UI요소를 포함한 컴포넌트
 ┃ ┣ Layout // 레이아웃 관련 컴포넌트
 ┃ ┗ Modal  // 모달 창과 관련된 컴포넌트
 ┣ features // 앱의 기능 구현 모듈
 ┃ ┣ [기능 이름]
 ┃ ┃ ┣ api  // API함수 및 리액트 쿼리 훅
 ┃ ┃ ┣ components // 기능과 관련된 컴포넌트
 ┃ ┃ ┣ hooks  // 기능과 관련된 커스텀 훅
 ┃ ┃ ┗ routes // 해당 기능의 페이지
 ┃ ┗ ...
 ┣ hooks  // 전역적으로 사용할 수 있는 커스텀 훅
 ┣ libs // 라이브러리 관련 코드
 ┣ recoil/atom // recoil의 전역 상태 코드
 ┣ routes // 라우팅 설정 파일
 ┣ styles // 전역 스타일 및 Theme
 ┣ util // 유틸리티 함수
 ┃ ┣ format // 포맷팅과 관련된 유틸리티 함수
 ┃ ┗ validation // 유효성 검증 관련 유틸리티 함수
 ┣ App.js
 ┗ index.js

리팩토링 과정 정리 위키

(🔼 Top)

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.6%
  • HTML 0.4%