|
1 | | -## 🚀 진행 일정 |
2 | | - |
3 | | -| 이름 | 프로젝트 시작 (-4.25) | 1차 기능 구현 (-5.03) | 2차 기능 구현 (-5.10) | |
4 | | -| ------ | ------------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | |
5 | | -| 노현지 | • API 작업 <br> • 모달 공통 컴포넌트 | • 리스트 페이지 <br> • 할 일 상세 페이지 | • 할 일 생성 모달 <br> • 할 일 수정 모달 <br> • 할 일 삭제 모달 | |
6 | | -| 이아름 | • 버튼 <br> • 드롭다운 <br> • 카드 컴포넌트 | • 버튼 <br> • 드롭다운 <br> • 카드 컴포넌트 | • 자유게시판 메인 페이지 <br> • 계정 설정 페이지 <br> • 비밀번호 변경 모달 <br> • 회원 탈퇴 모달 | |
7 | | -| 이현선 | • 폰트, 컬러 가이드 | • 폰트, 컬러 가이드 | • 마이 히스토리 페이지 <br> • 404 에러 페이지 | |
8 | | -| 이현호 | • 아이콘 컴포넌트 <br> • 헤더 컴포넌트 | • 아이콘 컴포넌트 <br> • 헤더 컴포넌트 | • 팀 생성 페이지 <br> • 팀 참여 페이지 <br> • 팀 수정 페이지 | |
9 | | -| 장해명 | • API 작업 | • 회원가입/로그인 페이지 <br> • 비밀번호 재설정 페이지 | • 자유게시판 상세 페이지 <br> • 자유게시판 게시글 쓰기 페이지 <br> • Oauth | |
10 | | -| 조민지 | • 인풋 컴포넌트 <br> • 커스텀 토스트 디자인 | • 다크 모드 <br> • 랜딩 페이지 | • 팀 페이지 <br> • 팀 없는 경우 페이지 <br> • 페이지 사용 모달 | |
| 1 | +# Coworkers |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | +## 💡 프로젝트 개요 |
| 6 | +**Coworkers**는 팀 단위로 일정을 관리 및 공유할 수 있는 웹 애플리케이션입니다. |
| 7 | +- 소속된 팀의 할 일 목록, 그날의 진행 상황, 멤버 목록을 한눈에 확인할 수 있습니다. |
| 8 | +- 반복 주기를 설정하여 할 일을 생성할 수 있으며, 특정 할 일에 대해 댓글로 소통할 수 있습니다. |
| 9 | + |
| 10 | +<br> |
| 11 | + |
| 12 | +## ⏳ 개발 기간 |
| 13 | +2025.04.21 ~ 2025.05.26 |
| 14 | + |
| 15 | +<br> |
| 16 | + |
| 17 | +## 🚀 배포 주소 |
| 18 | +https://coworkers-theta.vercel.app |
| 19 | + |
| 20 | +<br> |
| 21 | + |
| 22 | +## 👩🏻💻 팀원 소개 |
| 23 | +<table> |
| 24 | + <tr> |
| 25 | + <td align="center"><b>노현지</b></td> |
| 26 | + <td align="center"><b>이아름</b></td> |
| 27 | + <td align="center"><b>이현선</b></td> |
| 28 | + <td align="center"><b>이현호</b></td> |
| 29 | + <td align="center"><b>장해명</b></td> |
| 30 | + <td align="center"><b>조민지</b></td> |
| 31 | + </tr> |
| 32 | + <tr> |
| 33 | + <td align="center"> |
| 34 | + <a href="https://github.com/hyeonjiroh"> |
| 35 | + <img width="200px" src="https://github.com/hyeonjiroh.png"/> |
| 36 | + </a> |
| 37 | + </td> |
| 38 | + <td align="center"> |
| 39 | + <a href="https://github.com/ARON-Y"> |
| 40 | + <img width="200px" src="https://github.com/ARON-Y.png"/> |
| 41 | + </a> |
| 42 | + </td> |
| 43 | + <td align="center"> |
| 44 | + <a href="https://github.com/eplssun"> |
| 45 | + <img width="200px" src="https://github.com/eplssun.png"/> |
| 46 | + </a> |
| 47 | + </td> |
| 48 | + <td align="center"> |
| 49 | + <a href="https://github.com/MySoupRice"> |
| 50 | + <img width="200px" src="https://github.com/MySoupRice.png"/> |
| 51 | + </a> |
| 52 | + </td> |
| 53 | + <td align="center"> |
| 54 | + <a href="https://github.com/jjaneyxx"> |
| 55 | + <img width="200px" src="https://github.com/jjaneyxx.png"/> |
| 56 | + </a> |
| 57 | + </td> |
| 58 | + <td align="center"> |
| 59 | + <a href="https://github.com/MINJI121"> |
| 60 | + <img width="200px" src="https://github.com/MINJI121.png"/> |
| 61 | + </a> |
| 62 | + </td> |
| 63 | + </tr> |
| 64 | +</table> |
| 65 | + |
| 66 | +<br> |
| 67 | + |
| 68 | +## 🤝 역할 분담 |
| 69 | +### 노현지 |
| 70 | +- 할 일 목록 페이지 |
| 71 | +- 할 일 상세 페이지 |
| 72 | +- 자유게시판 상세 페이지 |
| 73 | +- 할 일 목록 생성/수정/삭제 모달 |
| 74 | +- 할 일 생성/수정/삭제 모달 |
| 75 | +- 모달 공통 컴포넌트 |
| 76 | +- Datepicker 공통 컴포넌트 |
| 77 | +- fetcher 함수 및 API 함수 |
| 78 | +- 초기 세팅 |
| 79 | +- Vercel 배포 |
| 80 | + |
| 81 | +### 이아름 |
| 82 | +- 자유게시판 메인 페이지 |
| 83 | +- 자유게시판 글 작성 페이지 |
| 84 | +- 자유게시판 글 수정 페이지 |
| 85 | +- 계정 설정 페이지 |
| 86 | +- 회원 탈퇴 모달 |
| 87 | +- 비밀번호 변경 모달 |
| 88 | +- 버튼 공통 컴포넌트 |
| 89 | +- 드롭다운 공통 컴포넌트 |
| 90 | + |
| 91 | +### 이현선 |
| 92 | +- 마이 히스토리 페이지 |
| 93 | +- 404 페이지 |
| 94 | +- 스타일 가이드 |
| 95 | + |
| 96 | +### 이현호 |
| 97 | +- 팀 생성 페이지 |
| 98 | +- 팀 수정 페이지 |
| 99 | +- 팀 참여 페이지 |
| 100 | +- 팀 삭제 모달 |
| 101 | +- 헤더 공통 컴포넌트 |
| 102 | +- 아이콘 공통 컴포넌트 |
| 103 | + |
| 104 | +### 장해명 |
| 105 | +- 회원가입 페이지 |
| 106 | +- 로그인 페이지 |
| 107 | +- 비밀번호 재설정 페이지 |
| 108 | +- 비밀번호 재설정 모달 |
| 109 | +- Oauth |
| 110 | +- 프로젝트 협업 환경 구성 |
| 111 | +- Notion 기반 협업 구조 정비 |
| 112 | + |
| 113 | +### 조민지 |
| 114 | +- 랜딩 페이지 |
| 115 | +- 팀 페이지 |
| 116 | +- 멤버 프로필 모달 |
| 117 | +- 멤버 초대 모달 |
| 118 | +- 커스텀 토스트 디자인 |
| 119 | +- 인풋 공통 컴포넌트 |
| 120 | + |
| 121 | +<br> |
| 122 | + |
| 123 | +## 🛠 기술 스택 |
| 124 | + |
| 125 | +### 프로그래밍 언어 |
| 126 | + |
| 127 | + |
| 128 | + |
| 129 | +### 스타일링 |
| 130 | + |
| 131 | + |
| 132 | +### 코드 품질 |
| 133 | + |
| 134 | + |
| 135 | + |
| 136 | +### 라이브러리 |
| 137 | + |
| 138 | + |
| 139 | + |
| 140 | + |
| 141 | + |
| 142 | + |
| 143 | + |
| 144 | + |
| 145 | + |
| 146 | + |
| 147 | + |
| 148 | + |
| 149 | + |
| 150 | + |
| 151 | +### 프레임워크 |
| 152 | + |
| 153 | + |
| 154 | +### 배포 |
| 155 | + |
| 156 | + |
| 157 | +### 버전 및 이슈 관리 |
| 158 | + |
| 159 | + |
| 160 | + |
| 161 | +### 협업 툴 |
| 162 | + |
| 163 | + |
| 164 | + |
| 165 | +<br> |
| 166 | + |
| 167 | +## 🗂️ 폴더 구조 |
| 168 | + |
| 169 | +``` |
| 170 | +📂 public |
| 171 | +├── 📂 image |
| 172 | +└── 📂 logo |
| 173 | +
|
| 174 | +📂 src |
| 175 | +├── 📂 app |
| 176 | +│ ├── 📂 (auth) |
| 177 | +│ │ ├── 📂 login |
| 178 | +│ │ ├── 📂 oauth |
| 179 | +│ │ │ └── 📂 kakao |
| 180 | +│ │ ├── 📂 reset-password |
| 181 | +│ │ └── 📂 signup |
| 182 | +│ ├── 📂 (board) |
| 183 | +│ │ ├── 📂 article |
| 184 | +│ │ │ ├── 📂 [articleid] |
| 185 | +│ │ │ │ └── 📂 edit-article |
| 186 | +│ │ │ └── 📂 add-article |
| 187 | +│ │ └── 📂 boards |
| 188 | +│ ├── 📂 (landing) |
| 189 | +│ ├── 📂 (team) |
| 190 | +│ │ ├── 📂 add-team |
| 191 | +│ │ ├── 📂 join-team |
| 192 | +│ │ ├── 📂 no-team |
| 193 | +│ │ └── 📂 team |
| 194 | +│ │ └── 📂 [teamid] |
| 195 | +│ │ ├── 📂 edit |
| 196 | +│ │ ├── 📂 task |
| 197 | +│ │ │ └── 📂 [taskid] |
| 198 | +│ │ └── 📂 tasklist |
| 199 | +│ │ └── 📂 @sidePage |
| 200 | +│ │ └── 📂 (..)task |
| 201 | +│ │ └── 📂 [taskid] |
| 202 | +│ ├── 📂 (user) |
| 203 | +│ │ ├── 📂 myhistory |
| 204 | +│ │ └── 📂 mypage |
| 205 | +│ ├── 📄 not-found.tsx |
| 206 | +│ ├── 📄 page.tsx |
| 207 | +│ └── 📄 Providers.tsx |
| 208 | +├── 📂 assets |
| 209 | +│ └── 📂 icons |
| 210 | +├── 📂 components |
| 211 | +│ ├── 📂 article |
| 212 | +│ ├── 📂 auth |
| 213 | +│ ├── 📂 common |
| 214 | +│ ├── 📂 task |
| 215 | +│ ├── 📂 tasklist |
| 216 | +│ └── 📂 user |
| 217 | +├── 📂 constants |
| 218 | +├── 📂 fonts |
| 219 | +├── 📂 hooks |
| 220 | +├── 📂 lib |
| 221 | +│ ├── 📂 apis |
| 222 | +│ │ ├── 📂 article |
| 223 | +│ │ ├── 📂 articleComment |
| 224 | +│ │ ├── 📂 auth |
| 225 | +│ │ ├── 📂 comment |
| 226 | +│ │ ├── 📂 group |
| 227 | +│ │ ├── 📂 task |
| 228 | +│ │ ├── 📂 taskList |
| 229 | +│ │ ├── 📂 user |
| 230 | +│ │ └── 📄 uploadImage.ts |
| 231 | +│ ├── 📂 client |
| 232 | +│ │ ├── 📄 fetcher.client.ts |
| 233 | +│ │ └── 📄 token.client.ts |
| 234 | +│ └── 📂 server |
| 235 | +│ ├── 📄 fetcher.server.ts |
| 236 | +│ └── 📄 token.server.ts |
| 237 | +├── 📂 store |
| 238 | +└── 📂 utils |
| 239 | +``` |
| 240 | + |
| 241 | +<br> |
| 242 | + |
| 243 | +## ✅ 컨벤션 |
| 244 | +### 네이밍 컨벤션 |
| 245 | +- 상수: `SNAKE_CASE` |
| 246 | +- 컴포넌트, interface 타입: `PascalCase` |
| 247 | +- 변수, 함수: `camelCase` |
| 248 | +- 폴더명: `kebab-case` |
| 249 | +- 파일명 |
| 250 | + - 이미지 파일(public 폴더): `_`(언더바)로 구분 |
| 251 | + - 이미지 import 시: `PascalCase` |
| 252 | + - 페이지 및 API 파일 (app, api 폴더): `kebab-case` |
| 253 | + - 컴포넌트 파일 (components 폴더): `PascalCase` |
| 254 | + - 유틸리티 파일 (lib, utils, hooks 폴더): `camelCase` |
| 255 | + |
| 256 | +### 타입 |
| 257 | + |
| 258 | +- **feat** : 새로운 기능 추가 |
| 259 | +- **fix** : 버그 수정 |
| 260 | +- **docs** : 문서 수정 |
| 261 | +- **style** : 코드 스타일 변경(코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우 등) |
| 262 | +- **design**: 사용자 UI 디자인 변경(CSS 등) |
| 263 | +- **refactor** : 코드 리팩토링 |
| 264 | +- **test** : 테스트 코드 작성 |
| 265 | +- **build**: 빌드 파일 수정 |
| 266 | +- **ci**: CI 설정 파일 수정 |
| 267 | +- **perf**: 성능 개선 |
| 268 | +- **chore**: 빌드 수정, 패키지 매니저 설정, 운영 코드 변경이 없는 경우 등 |
| 269 | +- **rename** : 파일 혹은 폴더명을 수정한 경우 |
| 270 | +- **remove**: 파일 삭제만 한 경우 |
| 271 | + |
| 272 | +### 커밋 메세지 |
| 273 | + |
| 274 | +``` |
| 275 | +type: 요약 |
| 276 | +``` |
| 277 | + |
| 278 | +### 브랜치명 |
| 279 | + |
| 280 | +``` |
| 281 | +type/#Issue-Number/Content |
| 282 | +``` |
| 283 | + |
| 284 | +### 이슈 제목 |
| 285 | + |
| 286 | +``` |
| 287 | +[type] Content |
| 288 | +``` |
| 289 | + |
| 290 | +### PR 제목 |
| 291 | + |
| 292 | +``` |
| 293 | +[type] #Issue-Number Content1 / Content2 ... |
| 294 | +``` |
| 295 | + |
| 296 | +## 🔄 팀 규칙 |
| 297 | +- **4시간 동안 해결되지 않는 문제는 공유해서 함께 해결하기** |
| 298 | +- PR이 올라오고 6시간 내에 코드 리뷰 & Approve 해주기 |
| 299 | +- 팀 미팅 불참 시 최소한 하루 전에 말해주기 |
| 300 | +- Task 완료 시 칸반 보드 업데이트하기 |
0 commit comments