Skip to content

Latest commit

Β 

History

History
302 lines (259 loc) Β· 9.52 KB

File metadata and controls

302 lines (259 loc) Β· 9.52 KB

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 μ™„λ£Œ μ‹œ 칸반 λ³΄λ“œ μ—…λ°μ΄νŠΈν•˜κΈ°