Skip to content

Commit 041e7fd

Browse files
committed
docs: 차후 개발 가능성이 존재하는 모듈에 대한 문서를 별도 폴더 및 문서로 분리
1 parent 60c4907 commit 041e7fd

5 files changed

Lines changed: 342 additions & 8 deletions

File tree

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
# TODO / 스케줄러 모듈
2+
3+
## 개요
4+
5+
할 일 관리 및 일정 추적을 위한 모듈입니다.
6+
개인 태스크 관리에 집중하며, 협업 기능보다는 1인 사용자의 업무 흐름에 최적화합니다.
7+
8+
> **개발 시점:** Fieldstack V1 완성 이후 검토
9+
> **참고 서비스:** [TickTick](https://ticktick.com/)
10+
11+
---
12+
13+
## 주요 기능 (검토 중)
14+
15+
### 1. 할 일 관리
16+
- 할 일 생성, 수정, 삭제
17+
- 마감일 및 알림 설정
18+
- 우선순위 설정 (높음 / 보통 / 낮음)
19+
- 태그 및 카테고리 분류
20+
- 반복 일정 설정
21+
22+
### 2. 목록 관리
23+
- 여러 목록(리스트) 생성 및 분류
24+
- 완료 항목 별도 보관
25+
26+
### 3. 캘린더 뷰
27+
- 마감일 기준 캘린더 형태로 조회
28+
- Google Calendar 연동 (선택)
29+
30+
### 4. 통계
31+
- 완료율 추적
32+
- 기간별 처리 건수
33+
34+
---
35+
36+
## 미포함 기능
37+
38+
- **포모도로 타이머** — 추가하지 않음
39+
40+
---
41+
42+
## 모듈 간 연동 (검토 중)
43+
44+
- 프로젝트·외주 관리 모듈의 마일스톤 → TODO 항목 자동 생성
45+
- Subscription 결제일 → 캘린더 뷰에 표시
46+
47+
---
48+
49+
## 데이터 구조 (초안)
50+
51+
```ts
52+
interface Todo {
53+
id: string
54+
userId: string
55+
listId?: string
56+
title: string
57+
description?: string
58+
priority: 'high' | 'medium' | 'low'
59+
dueDate?: string
60+
reminderAt?: string
61+
isCompleted: boolean
62+
completedAt?: string
63+
repeat?: RepeatRule
64+
tags?: string[]
65+
createdAt: string
66+
updatedAt: string
67+
}
68+
69+
interface TodoList {
70+
id: string
71+
userId: string
72+
name: string
73+
color?: string
74+
createdAt: string
75+
}
76+
```
77+
78+
---
79+
80+
## API 엔드포인트 (초안)
81+
82+
```
83+
GET /api/todos # 목록 조회
84+
GET /api/todos/:id # 상세 조회
85+
POST /api/todos # 신규 생성
86+
PUT /api/todos/:id # 수정
87+
DELETE /api/todos/:id # 삭제
88+
PATCH /api/todos/:id/complete # 완료 처리
89+
90+
GET /api/todo-lists # 목록 리스트 조회
91+
POST /api/todo-lists # 목록 생성
92+
DELETE /api/todo-lists/:id # 목록 삭제
93+
```
Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
# 프로젝트·외주 관리 모듈
2+
3+
## 개요
4+
5+
외주 및 프로젝트 단위의 업무 흐름을 관리하는 모듈입니다.
6+
문의 인입부터 계약 체결, 작업 진행, 정산 완료까지의 전체 라이프사이클을 Fieldstack 안에서 추적합니다.
7+
8+
1인 크리에이터, 프리랜서 등 MCN 미소속 개인 사업자를 주요 사용 대상으로 합니다.
9+
10+
> **개발 시점:** Fieldstack V1 완성 이후 여유가 생겼을 때 진행
11+
12+
---
13+
14+
## 주요 기능 (검토 중)
15+
16+
### 1. 프로젝트 관리
17+
- 프로젝트 카드 생성 및 상태 관리
18+
- 상태 예시: `문의 인입``견적 발송``계약 체결``작업 중``검수``정산 완료`
19+
- 클라이언트 정보 연결
20+
- 마감일 및 일정 관리
21+
- 파일 첨부 (계약서, 산출물 등)
22+
23+
### 2. 정산 시스템
24+
- 견적서 작성 및 발송
25+
- 인보이스 생성
26+
- 정산 상태 추적
27+
- Ledger 모듈 자동 연동 — 정산 완료 시 수입 항목 자동 기록
28+
29+
### 3. 문의 인입 관리
30+
- 외부 채널에서 들어오는 문의를 프로젝트 리드(Lead)로 자동 전환
31+
- 지원 인입 채널 (검토 중):
32+
- 이메일 (Gmail 연동)
33+
- 폼 (Tally, Google Form, Typeform, Notion DB)
34+
- 커스텀 API / Webhook
35+
36+
---
37+
38+
## 외부 서비스 연동
39+
40+
### 위드싸인 (전자계약)
41+
42+
**연동 목적:** 계약서 상태를 프로젝트 카드에서 직접 확인
43+
44+
**활용 기능:**
45+
- 계약서 상태 조회 — 서명 대기 / 완료 / 거절
46+
- 계약 완료 감지 시 프로젝트 상태 자동 전환 (웹훅 지원 시)
47+
- 계약사본 / 인증서 다운로드 링크를 프로젝트 파일탭에 연결
48+
- (선택) 템플릿으로 계약서 발송을 Fieldstack 내에서 직접 처리
49+
50+
**설계 고려사항:**
51+
- 위드싸인 문서 ID를 프로젝트 레코드에 저장하는 필드 필요 (`contractIds` 등)
52+
- API Key 관리는 Fieldstack 설정 모듈의 서드파티 연동 섹션에서 처리
53+
- 초기에는 조회 전용으로 시작하고, 이후 발송 기능으로 확장하는 방향 권장
54+
- API 문서: [apidocs.widsign.com](https://apidocs.widsign.com)
55+
56+
---
57+
58+
### Gmail 연동
59+
60+
**연동 목적:** 외주 문의 전용 Gmail 계정을 Fieldstack과 연결하여 문의 누락 방지 및 커뮤니케이션 이력 통합 관리
61+
62+
> 1인 크리에이터(MCN 미소속)의 경우 외주·문의 창구로 Gmail을 단독으로 사용하는 경우가 많아
63+
> Fieldstack 내 통합 관리의 실용성이 높음
64+
65+
**활용 기능:**
66+
- 특정 레이블(`외주문의`, `견적` 등) 메일 → 프로젝트 리드 자동 생성
67+
- 답장 여부 추적 — 미답장 문의 건 알림
68+
- 위드싸인 계약 완료 메일 감지 → 프로젝트 상태 자동 전환
69+
- 세금계산서 / 인보이스 관련 메일 → Ledger 모듈 연동
70+
- 프로젝트 카드 내 해당 클라이언트와의 메일 스레드 타임라인 표시
71+
72+
**설계 고려사항:**
73+
- Gmail OAuth 2.0 인증 필요
74+
- 연동 계정은 설정 모듈에서 등록 및 관리
75+
- 전체 메일함이 아닌 특정 레이블 또는 필터 기준으로만 동기화하는 방향 권장 (프라이버시 및 성능)
76+
77+
---
78+
79+
## 데이터 구조 (초안)
80+
81+
```ts
82+
// 프로젝트 카드
83+
interface Project {
84+
id: string
85+
userId: string
86+
title: string
87+
clientName: string
88+
clientEmail?: string
89+
status: ProjectStatus
90+
amount?: number
91+
currency?: string
92+
startDate?: string
93+
dueDate?: string
94+
contractIds?: string[] // 위드싸인 문서 ID 목록
95+
gmailThreadIds?: string[] // 연결된 Gmail 스레드 ID 목록
96+
tags?: string[]
97+
notes?: string
98+
createdAt: string
99+
updatedAt: string
100+
}
101+
102+
type ProjectStatus =
103+
| 'lead' // 문의 인입
104+
| 'quoted' // 견적 발송
105+
| 'contracted' // 계약 체결
106+
| 'in_progress' // 작업 중
107+
| 'review' // 검수
108+
| 'settled' // 정산 완료
109+
| 'cancelled' // 취소
110+
```
111+
112+
---
113+
114+
## 모듈 간 연동
115+
116+
### Project → Ledger
117+
- 프로젝트 상태가 `settled`(정산 완료)로 변경될 때
118+
`project:settled` 이벤트를 발행하여 Ledger에 수입 항목 자동 기록
119+
120+
### 위드싸인 → Project
121+
- 계약 완료 웹훅 수신 시 연결된 프로젝트 상태를 `contracted`로 자동 전환
122+
123+
### Gmail → Project
124+
- 지정 레이블 메일 수신 시 `project:lead-created` 이벤트 발행
125+
- 미답장 건은 별도 알림 이벤트 발행
126+
127+
---
128+
129+
## API 엔드포인트 (초안)
130+
131+
```
132+
GET /api/projects # 목록 조회
133+
GET /api/projects/:id # 상세 조회
134+
POST /api/projects # 신규 생성
135+
PUT /api/projects/:id # 수정
136+
DELETE /api/projects/:id # 삭제
137+
PATCH /api/projects/:id/status # 상태 변경
138+
139+
# 외부 연동
140+
GET /api/projects/:id/contracts # 위드싸인 계약서 상태 조회
141+
POST /api/projects/sync-gmail # Gmail 동기화
142+
```
143+
144+
---
145+
146+
## 참고 / 레퍼런스
147+
148+
- 위드싸인: [widsign.com](https://www.widsign.com)
149+
- 위드싸인 API 문서: [apidocs.widsign.com](https://apidocs.widsign.com)
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# 플래너 모듈
2+
3+
## 개요
4+
5+
여행 계획 등 특정 목적의 일정을 구조적으로 계획하고 관리하는 모듈입니다.
6+
TODO / 스케줄러 모듈이 일상적인 할 일 관리에 초점을 맞춘다면,
7+
플래너 모듈은 **계획 단위의 묶음**을 관리하는 데 초점을 맞춥니다.
8+
9+
> **개발 시점:** Fieldstack V1 완성 이후, 우선순위가 낮으므로 후순위 검토
10+
11+
---
12+
13+
## 주요 기능 (검토 중)
14+
15+
### 1. 여행 계획
16+
- 국내 / 해외 여행 계획 생성
17+
- 날짜별 일정 구성 (Day 1, Day 2 ...)
18+
- 방문 장소, 숙소, 교통 정보 입력
19+
- 예산 계획 및 지출 추적 — Ledger 모듈 연동
20+
21+
### 2. 계획 관리
22+
- 계획 상태 관리: `계획 중` / `예약 완료` / `완료` / `취소`
23+
- 체크리스트 (챙길 것 목록 등)
24+
- 파일 및 이미지 첨부 (티켓, 바우처 등)
25+
26+
---
27+
28+
## 모듈 간 연동 (검토 중)
29+
30+
- 여행 기간 중 지출 → Ledger 모듈에 자동 기록 또는 연결
31+
- 여행 일정 → Google Calendar 연동 (선택)
32+
33+
---
34+
35+
## 데이터 구조 (초안)
36+
37+
```ts
38+
interface Plan {
39+
id: string
40+
userId: string
41+
type: 'travel' | 'etc' // 추후 확장 가능
42+
title: string
43+
description?: string
44+
status: 'planning' | 'booked' | 'completed' | 'cancelled'
45+
startDate?: string
46+
endDate?: string
47+
budget?: number
48+
currency?: string
49+
tags?: string[]
50+
createdAt: string
51+
updatedAt: string
52+
}
53+
54+
interface PlanDay {
55+
id: string
56+
planId: string
57+
date: string
58+
items: PlanDayItem[]
59+
}
60+
61+
interface PlanDayItem {
62+
id: string
63+
time?: string
64+
title: string
65+
location?: string
66+
memo?: string
67+
type: 'place' | 'transport' | 'accommodation' | 'meal' | 'etc'
68+
}
69+
```
70+
71+
---
72+
73+
## 참고
74+
75+
- 추후 여행 외 다른 계획 유형(이벤트 준비, 스터디 플랜 등)으로 확장 가능성 있음 `(미정)`
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Modules for Future
2+
3+
Fieldstack V1 완성 이후 개발이 검토되는 모듈들을 정리한 공간입니다.
4+
5+
현재 개발 중인 모듈(`Ledger`, `Subscription`)과 달리,
6+
이 폴더의 문서들은 확정된 스펙이 아닌 **아이디어 및 초기 설계 단계**의 내용을 담고 있습니다.
7+
8+
---
9+
10+
## 목록
11+
12+
| 문서 | 모듈명 | 우선순위 | 비고 |
13+
|------|--------|----------|------|
14+
| [project-outsource.md](./02-project-outsource.md) | 프로젝트·외주 관리 | 높음 | 위드싸인, Gmail 연동 포함 |
15+
| [todo-scheduler.md](./01-todo-scheduler.md) | TODO / 스케줄러 | 중간 | TickTick 참고 |
16+
| [planner.md](./03-planner.md) | 플래너 | 낮음 | 여행 계획 등 |
17+
18+
---
19+
20+
## 문서 작성 규칙
21+
22+
- 확정되지 않은 내용은 `(미정)` 또는 `(검토 중)` 으로 표기
23+
- 참고 서비스나 레퍼런스가 있는 경우 링크 포함
24+
- 연동이 필요한 외부 서비스는 별도 섹션으로 분리하여 작성

docs/v2_FINANCIAL-LEDGER/modules/00-default-modules.md

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -180,14 +180,7 @@ Google의 Calendar API를 사용하여 구독 결제일을 캘린더 이벤트
180180
---
181181

182182
## 차후 개발 및 제공 가능 리스트
183-
- TODO / Scheduler
184-
- 참고: [TickTick](https://ticktick.com/)
185-
- 포모도로는 추가되지 않음
186-
- 프로젝트·외주 관리
187-
- 정산 시스템 포함
188-
- 이메일, Form(API, Webhook / Tally, Google Form, Typeform, Notion(API를 사용하여 DB를 글거오는 방식)), 커스텀 API
189-
- 플레너
190-
- 여행 계획(국내, 해외 등)
183+
> [_modules_for-future](docs\v2_FINANCIAL-LEDGER\_modules_for-future) 으로 이전 되었습니다.
191184
192185
---
193186

0 commit comments

Comments
 (0)