Skip to content

FE13-Part4-Team2/Coworkers

Repository files navigation

Coworkers

GIF_20250609_232943_882

💡 프로젝트 개요

Coworkers는 팀 단위로 일정을 관리 및 공유할 수 있는 웹 애플리케이션입니다.

  • 소속된 팀의 할 일 목록, 그날의 진행 상황, 멤버 목록을 한눈에 확인할 수 있습니다.
  • 반복 주기를 설정하여 할 일을 생성할 수 있으며, 특정 할 일에 대해 댓글로 소통할 수 있습니다.

⏳ 개발 기간

2025.04.21 ~ 2025.05.26


🚀 배포 주소

https://coworkers-theta.vercel.app


👩🏻‍💻 팀원 소개

노현지 이아름 이현선 이현호 장해명 조민지

🤝 역할 분담

노현지

  • 할 일 목록 페이지
  • 할 일 상세 페이지
  • 자유게시판 상세 페이지
  • 할 일 목록 생성/수정/삭제 모달
  • 할 일 생성/수정/삭제 모달
  • 모달 공통 컴포넌트
  • Datepicker 공통 컴포넌트
  • fetcher 함수 및 API 함수
  • 초기 세팅
  • Vercel 배포

이아름

  • 자유게시판 메인 페이지
  • 자유게시판 글 작성 페이지
  • 자유게시판 글 수정 페이지
  • 계정 설정 페이지
  • 회원 탈퇴 모달
  • 비밀번호 변경 모달
  • 버튼 공통 컴포넌트
  • 드롭다운 공통 컴포넌트

이현선

  • 마이 히스토리 페이지
  • 404 페이지
  • 스타일 가이드

이현호

  • 팀 생성 페이지
  • 팀 수정 페이지
  • 팀 참여 페이지
  • 팀 삭제 모달
  • 헤더 공통 컴포넌트
  • 아이콘 공통 컴포넌트

장해명

  • 회원가입 페이지
  • 로그인 페이지
  • 비밀번호 재설정 페이지
  • 비밀번호 재설정 모달
  • Oauth
  • 프로젝트 협업 환경 구성
  • Notion 기반 협업 구조 정비

조민지

  • 랜딩 페이지
  • 팀 페이지
  • 멤버 프로필 모달
  • 멤버 초대 모달
  • 커스텀 토스트 디자인
  • 인풋 공통 컴포넌트

🛠 기술 스택

프로그래밍 언어

JavaScript TypeScript

스타일링

TailwindCSS

코드 품질

js js

라이브러리

React React Query Zustand js-cookie twMerge lodash.debounce react-hook-form react-datepicker framer-motion react-toastify clsx SVGR Zod

프레임워크

Next JS

배포

Vercel

버전 및 이슈 관리

Git GitHub

협업 툴

Discord Notion


🗂️ 폴더 구조

📂 public
├── 📂 image
└── 📂 logo

📂 src
├── 📂 app
│   ├── 📂 (auth)
│   │   ├── 📂 login
│   │   ├── 📂 oauth
│   │   │   └── 📂 kakao
│   │   ├── 📂 reset-password
│   │   └── 📂 signup
│   ├── 📂 (board)
│   │   ├── 📂 article
│   │   │   ├── 📂 [articleid]
│   │   │   │   └── 📂 edit-article
│   │   │   └── 📂 add-article
│   │   └── 📂 boards
│   ├── 📂 (landing)
│   ├── 📂 (team)
│   │   ├── 📂 add-team
│   │   ├── 📂 join-team
│   │   ├── 📂 no-team
│   │   └── 📂 team
│   │       └── 📂 [teamid]
│   │           ├── 📂 edit
│   │           ├── 📂 task
│   │           │   └── 📂 [taskid]
│   │           └── 📂 tasklist
│   │               └── 📂 @sidePage
│   │                   └── 📂 (..)task
│   │                       └── 📂 [taskid]
│   ├── 📂 (user)
│   │   ├── 📂 myhistory
│   │   └── 📂 mypage
│   ├── 📄 not-found.tsx
│   ├── 📄 page.tsx
│   └── 📄 Providers.tsx
├── 📂 assets
│   └── 📂 icons
├── 📂 components
│   ├── 📂 article
│   ├── 📂 auth
│   ├── 📂 common
│   ├── 📂 task
│   ├── 📂 tasklist
│   └── 📂 user
├── 📂 constants
├── 📂 fonts
├── 📂 hooks
├── 📂 lib
│   ├── 📂 apis
│   │   ├── 📂 article
│   │   ├── 📂 articleComment
│   │   ├── 📂 auth
│   │   ├── 📂 comment
│   │   ├── 📂 group
│   │   ├── 📂 task
│   │   ├── 📂 taskList
│   │   ├── 📂 user
│   │   └── 📄 uploadImage.ts
│   ├── 📂 client
│   │   ├── 📄 fetcher.client.ts
│   │   └── 📄 token.client.ts
│   └── 📂 server
│       ├── 📄 fetcher.server.ts
│       └── 📄 token.server.ts
├── 📂 store
└── 📂 utils

✅ 컨벤션

네이밍 컨벤션

  • 상수: SNAKE_CASE
  • 컴포넌트, interface 타입: PascalCase
  • 변수, 함수: camelCase
  • 폴더명: kebab-case
  • 파일명
    • 이미지 파일(public 폴더): _(언더바)로 구분
    • 이미지 import 시: PascalCase
    • 페이지 및 API 파일 (app, api 폴더): kebab-case
    • 컴포넌트 파일 (components 폴더): PascalCase
    • 유틸리티 파일 (lib, utils, hooks 폴더): camelCase

타입

  • feat : 새로운 기능 추가
  • fix : 버그 수정
  • docs : 문서 수정
  • style : 코드 스타일 변경(코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우 등)
  • design: 사용자 UI 디자인 변경(CSS 등)
  • refactor : 코드 리팩토링
  • test : 테스트 코드 작성
  • build: 빌드 파일 수정
  • ci: CI 설정 파일 수정
  • perf: 성능 개선
  • chore: 빌드 수정, 패키지 매니저 설정, 운영 코드 변경이 없는 경우 등
  • rename : 파일 혹은 폴더명을 수정한 경우
  • remove: 파일 삭제만 한 경우

커밋 메세지

type: 요약

브랜치명

type/#Issue-Number/Content

이슈 제목

[type] Content

PR 제목

[type] #Issue-Number Content1 / Content2 ...

🔄 팀 규칙

  • 4시간 동안 해결되지 않는 문제는 공유해서 함께 해결하기
  • PR이 올라오고 6시간 내에 코드 리뷰 & Approve 해주기
  • 팀 미팅 불참 시 최소한 하루 전에 말해주기
  • Task 완료 시 칸반 보드 업데이트하기

Releases

No releases published

Packages

No packages published

Contributors 5

Languages