팀의 하루 업무를 기록하고, 서로의 진행 상황을 한눈에 공유할 수 있는 팀 업무 기록 서비스입니다.
📝 개발 후기: 코드넛의 업무 공유 시스템 개발기
이 저장소는 사내에서 운영 중인 Task Share 서비스의 공개 스냅샷입니다. 주요 기능 단위로 갱신됩니다.
- 오늘의 Task 작성 — 간단한 에디터로 하루 업무를 기록하고 태그로 분류
- 팀 현황 보기 — 팀원 전체의 기록을 날짜별로 한 화면에서 조회
- 내 기록 아카이브 — 월별로 내가 쓴 기록을 모아보고, 태그·키워드로 검색
- 태그 기반 분류 — 관리자가 관리하는 공용 태그로 일관된 카테고리 유지
- 검색 — 기간 / 태그 / 인원 / 키워드 조합 필터
- 관리자 기능 — 인원/태그 관리, 기록 엑셀 내보내기
- 반응형 UI — 데스크톱·모바일 모두 대응
- Framework — Next.js 16 (App Router) / React 19
- Styling — Tailwind CSS v4 / shadcn-ui
- DB / ORM — MySQL + Drizzle ORM
- Auth — iron-session 기반 쿠키 세션
- Language — TypeScript
-
Node.js 20+
-
MySQL 8.0+ — 로컬에 설치하거나 Docker로 띄우면 됩니다.
# Docker로 빠르게 띄우는 예시 docker run -d --name task-share-db \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=1234 \ -e MYSQL_DATABASE=task_share \ mysql:8
git clone https://github.com/SJ-Leeee/task-share.git
cd task-share
npm install프로젝트 루트에 .env 파일을 만들고 아래 키들을 채워주세요.
# Database (MySQL)
DB_HOST=localhost
DB_PORT=3306
DB_USER=dbuser
DB_PASSWORD=dbpassword
DB_NAME=dbname
# Session (iron-session) - 32자 이상의 랜덤 문자열
SESSION_PASSWORD=abcdabcd-abcdabcd-abcdabcd-abcdabcdnpm run db:push기능을 바로 확인해보려면 가상 팀(관리자 1명 + 매니저 2명 + 직원 8명)과 3개월치 더미 업무 데이터를 넣을 수 있습니다.
npm run seed:reset
⚠️ DB 전체가 초기화되므로 로컬 개발 DB에서만 사용하세요.
삽입되는 주요 테스트 계정:
| 이름 (아이디) | 역할 | 비밀번호 |
|---|---|---|
admin |
관리자 | admin1234 |
jiyeon.oh (오지연) |
Maker 팀 매니저 | pass1234 |
minjun.seo (서민준) |
Business 팀 매니저 | pass1234 |
| 그 외 8명 | 일반 직원 | pass1234 |
npm run dev브라우저에서 http://localhost:3000 으로 접속 → 위 계정으로 로그인하면 됩니다.
- 문서 공유(S3) 기능 비활성화 —
src/lib/s3.ts,src/app/api/documents/* 등 문서 업로드/다운로드 코드가 포함되어 있지만, 현재 운영 및 이 저장소 기본 구성에서는 비활성화되어 있습니다. 관련 AWS 환경변수도 필요 없습니다. 사용하려면 S3(또는 호환 스토리지) 설정과 UI 복구(admin/documents,documents/page.tsx의 제출문서 탭 등)가 별도로 필요합니다.
- 자동 로그인 — 한 번 로그인하면 30일간 유지됩니다
- 태그 추가/숨김 — 태그 일관성을 위해 관리자만 변경할 수 있습니다
- 조회 가능 기간 — 팀 현황은 최대 +3개월까지 조회할 수 있습니다
- 계정 생성 — 관리자가
/admin/users에서 계정을 생성하고 초기 비밀번호를 안내합니다
버그 제보, 기능 제안, PR 모두 환영합니다. 이슈를 먼저 등록해주시면 논의 후 진행하기 수월합니다.
이 프로젝트는 MIT License 하에 배포됩니다. 자유롭게 사용·수정·재배포할 수 있습니다.