Kanban 보드를 이용한 프로젝트 및 할일 관리 시스템입니다.
- 📁 프로젝트 생성/수정/삭제 관리
- ✅ 할일 생성/수정/삭제 관리
- 📋 Kanban 보드 (Todo / In Progress / Done)
- 🏷️ 우선순위 설정 (낮음/보통/높음)
- 📅 마감일 설정 및 관리
- 🎨 프로젝트별 색상 테마
- Frontend/Backend: Next.js 14
- Database: PostgreSQL (Docker)
- ORM: Prisma
- UI: Tailwind CSS + Custom Components
- Icons: Lucide React
# 저장소 클론
git clone <repository-url>
cd todo/todo-app
# 의존성 설치
npm installDocker를 이용해 PostgreSQL 데이터베이스를 실행합니다:
# PostgreSQL 컨테이너 실행 (포트 15501)
docker-compose up -d
# 데이터베이스 스키마 적용
npm run db:push
# Prisma 클라이언트 생성
npm run db:generate# 개발 서버 실행 (포트 15502)
npm run dev브라우저에서 http://localhost:15502로 접속하세요.
.env.local 파일에 다음 환경 변수들이 설정되어 있습니다:
DATABASE_URL="postgresql://todouser:todopassword@localhost:15501/todo_management?schema=public"
NEXTAUTH_SECRET="your-secret-key-here"
NEXTAUTH_URL="http://localhost:15502"- 홈페이지에서 "프로젝트 보기" 클릭
- "새 프로젝트" 버튼으로 프로젝트 생성
- 프로젝트 이름, 설명, 색상 설정
- "프로젝트 열기"로 Kanban 보드 접근
- 프로젝트 상세 페이지에서 "새 할일" 클릭
- 할일 제목, 설명, 우선순위, 마감일 설정
- Kanban 보드에서 드래그앤드롭으로 상태 변경
- 할일 카드 클릭으로 수정/삭제
- Todo: 새로 생성된 할일
- In Progress: 진행 중인 할일
- Done: 완료된 할일
GET /api/projects- 프로젝트 목록 조회POST /api/projects- 프로젝트 생성GET /api/projects/[id]- 프로젝트 상세 조회PUT /api/projects/[id]- 프로젝트 수정DELETE /api/projects/[id]- 프로젝트 삭제 (비활성화)
GET /api/tasks- 할일 목록 조회POST /api/tasks- 할일 생성GET /api/tasks/[id]- 할일 상세 조회PUT /api/tasks/[id]- 할일 수정DELETE /api/tasks/[id]- 할일 삭제
- id: 고유 식별자
- title: 프로젝트 이름
- description: 프로젝트 설명
- color: 프로젝트 색상
- isActive: 활성 상태
- createdAt, updatedAt: 생성/수정 시간
- id: 고유 식별자
- title: 할일 제목
- description: 할일 설명
- status: 상태 (TODO, IN_PROGRESS, DONE)
- priority: 우선순위 (LOW, MEDIUM, HIGH)
- dueDate: 마감일
- projectId: 프로젝트 참조
- createdAt, updatedAt: 생성/수정 시간
# 개발 서버 실행
npm run dev
# 프로덕션 빌드
npm run build
# 프로덕션 서버 실행
npm run start
# 린트 검사
npm run lint
# 데이터베이스 스키마 동기화
npm run db:push
# Prisma Studio 실행
npm run db:studio