Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
e73bef3
fix: 빌드 오류 수정 및 Resend → Supabase 이메일 초대로 교체
May 4, 2026
34f8d48
[fix] : TypeScript 타입 검사 복원 및 린트 에러 수정
May 4, 2026
adbdb75
[chore] : 루트 /lib/ 레거시 디렉토리 삭제
May 4, 2026
e1b57b8
[refactor] : any 타입 제거 (AssigneeField, TaskDetail, TaskAdd, useTaskMa…
May 4, 2026
a336b68
[refactor] : any 타입 제거 2차 (TaskDetail, useModal, ProjectBoardBody)
May 4, 2026
84c8b6a
[refactor] : 타입 안정성 개선 (any → 명시적 타입)
May 4, 2026
43f3e66
[refactor] : TanStack Query 도입 (프로젝트 목록 캐싱)
May 4, 2026
3b3f004
[refactor] : useMutation 적용 (프로젝트 생성/수정)
May 4, 2026
826c3d9
[refactor] : Query Keys 중앙 관리 (queryKeys 상수)
May 4, 2026
22519b0
[refactor] : API 오류 처리 통일화
May 4, 2026
02bf949
[chore] : tailwind.config.js 제거 (Tailwind v4 마이그레이션 완료)
May 4, 2026
6ffec46
[refactor] : Supabase Realtime + useQuery 통합
May 5, 2026
5540243
[perf] : 초기 로딩 최적화 (동적 로딩 + 이미지 최적화)
May 6, 2026
6c90f1b
refactor(ui): rename Commontable to CommonTable (#1)
May 6, 2026
e5ee889
Merge pull request #5 from lnu8926-web/refactor/1-common-table-rename
lnu8926-web May 6, 2026
6efa71f
refactor(ui): unify export to default (#2)
May 6, 2026
8b94861
refactor(ui): unify export to default (#2)
May 6, 2026
da97e16
refactor(structure): merge constants/constants.ts into lib/constants.…
May 6, 2026
39fd172
Merge pull request #6 from lnu8926-web/refactor/2-ui-export-unify
lnu8926-web May 6, 2026
d3d4d1e
Merge pull request #7 from lnu8926-web/refactor/3-constants-structure
lnu8926-web May 6, 2026
f8fbf15
chore(ci): add quality gate workflow (#4)
May 6, 2026
1928792
chore(ci): add quality gate workflow (#4)
May 6, 2026
058131f
Merge pull request #8 from lnu8926-web/chore/4-ci-quality-gate
lnu8926-web May 9, 2026
dac8f17
refactor(fsd): task pilot step1 move ui module (#9)
May 9, 2026
c66176c
fix(task): remove invalid projectId string usage in TaskDetail
May 9, 2026
449768e
Merge pull request #11 from lnu8926-web/refactor/issue-9-task-fsd-ste…
lnu8926-web May 9, 2026
18f6d2a
Merge remote-tracking branch 'origin/main' into refactor/issue-9-task…
Copilot May 9, 2026
f36f7fc
Merge pull request #12 from lnu8926-web/refactor/issue-9-task-fsd-ste…
lnu8926-web May 9, 2026
eb80992
refactor(fsd): finalize task public api and remove legacy imports (#9)
May 9, 2026
726a143
Merge pull request #13 from lnu8926-web/refactor/issue-9-task-fsd-ste…
lnu8926-web May 9, 2026
d43ccb2
refactor(fsd): project pilot step1 move ui module (#14)
May 10, 2026
dd6d1ad
Merge pull request #16 from lnu8926-web/refactor/issue-14-project-fsd…
lnu8926-web May 10, 2026
825b9a3
chore: add supabase mcp
lnu8926-web May 10, 2026
a05c136
Merge branch 'main' of https://github.com/lnu8926-web/NextTaskry
lnu8926-web May 10, 2026
7a79dad
feat(auth): add supabase google oauth parallel login flow
lnu8926-web May 10, 2026
78f110d
feat(auth): add parallel session check in middleware
lnu8926-web May 10, 2026
bd57bf1
feat(auth): unify api auth for nextauth and supabase
lnu8926-web May 10, 2026
4d9dac7
chore(auth): remove unused checkUserPermission helper
lnu8926-web May 10, 2026
aacf426
refactor(auth): remove legacy isAdmin util usage
lnu8926-web May 10, 2026
78f338e
refactor(auth): use unified auth in announcements api
lnu8926-web May 10, 2026
1e20980
docs(auth): update auth operation and env troubleshooting guide
lnu8926-web May 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: false
68 changes: 68 additions & 0 deletions .github/ISSUE_TEMPLATE/sprint-task.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Sprint Task
description: Refactor or feature task for sprint backlog
title: "[type][area] "
labels: ["type:refactor", "priority:medium"]
body:
- type: dropdown
id: type
attributes:
label: Type
options:
- refactor
- feature
- chore
validations:
required: true
- type: dropdown
id: area
attributes:
label: Area
options:
- structure
- kanban
- project
- notice
- auth
- admin
- ui
- api
validations:
required: true
- type: dropdown
id: priority
attributes:
label: Priority
options:
- high
- medium
- low
validations:
required: true
- type: textarea
id: summary
attributes:
label: Summary
description: What should be changed?
placeholder: Describe task in 2-4 lines.
validations:
required: true
- type: textarea
id: acceptance
attributes:
label: Acceptance Criteria
description: Checkbox list recommended.
value: |
- [ ] Criteria 1
- [ ] Criteria 2
validations:
required: true
- type: textarea
id: test
attributes:
label: Test Plan
placeholder: Unit/manual/e2e test plan
- type: input
id: estimate
attributes:
label: Estimate (story points)
placeholder: e.g. 2, 3, 5
29 changes: 29 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: CI

on:
pull_request:
branches:
- main

jobs:
quality:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm

- name: Install dependencies
run: npm ci

- name: Type check
run: npm run typecheck

- name: Lint
run: npm run lint

- name: Build
run: npm run build
8 changes: 8 additions & 0 deletions .vscode/mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"servers": {
"supabase": {
"type": "http",
"url": "https://mcp.supabase.com/mcp?project_ref=jjlqgtrtmwnegbhokmaq&read_only=true"
}
}
}
19 changes: 18 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
**Taskry**는 복잡한 절차 없이 누구나 쉽게 업무 흐름을 관리할 수 있는 웹 기반 협업 도구입니다.
직관적인 UI와 실시간 동기화를 통해 팀의 생산성을 극대화합니다.

업데이트일: 2026-05-10

## 📸 Screen Shots

| 메인 대시보드 | 칸반보드 | 캘린더 |
Expand Down Expand Up @@ -79,9 +81,24 @@ DIRECT_URL=your+direct_url
# Supabase API
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
```

### 3. 실행 명령어
### 3. 인증 운영 방식

- 현재 인증은 NextAuth와 Supabase Auth를 병행 운영합니다.
- 로그인 페이지에서 NextAuth Google 또는 Supabase Google 로그인으로 진입할 수 있습니다.
- 보호 라우트는 NextAuth 토큰과 Supabase 세션을 함께 확인합니다.
- 서버 API는 통합 인증 유틸을 통해 사용자 컨텍스트를 추출합니다.
- 관리자 API는 role === "admin" 기준으로만 허용합니다.

### 4. 로그인 오류 점검 순서

- Google OAuth Client ID/Secret과 승인된 Redirect URI를 먼저 확인합니다.
- Supabase OAuth Redirect URL과 앱의 redirectTo 설정 일치 여부를 확인합니다.
- 브라우저 쿠키/세션 상태와 서버 환경변수 누락 여부를 확인합니다.

### 5. 실행 명령어

```
npm run dev
Expand Down
48 changes: 0 additions & 48 deletions lib/calendarUtils.ts

This file was deleted.

164 changes: 0 additions & 164 deletions lib/constants.ts

This file was deleted.

14 changes: 0 additions & 14 deletions lib/constants/messages.ts

This file was deleted.

Loading