de697d436b5e6bf3b1aeef3c76e07b8507e8fa98
Add comprehensive Issue management functionality with drag-and-drop Kanban board. Changes: - Created Issue API client (issues.ts) with CRUD operations - Implemented React Query hooks for Issue data management - Added IssueCard component with drag-and-drop support using @dnd-kit - Created KanbanColumn component with droppable zones - Built CreateIssueDialog with form validation using zod - Implemented Kanban page at /projects/[id]/kanban with DnD status changes - Added missing UI components (textarea, select, skeleton) - Enhanced API client with helper methods (get, post, put, patch, delete) - Installed dependencies: @dnd-kit/core, @dnd-kit/sortable, @dnd-kit/utilities, @radix-ui/react-select, sonner - Fixed SignalR ConnectionManager TypeScript error - Preserved legacy KanbanBoard component for backward compatibility Features: - Drag and drop issues between Backlog, Todo, InProgress, and Done columns - Real-time status updates via API - Issue creation with type (Story, Task, Bug, Epic) and priority - Visual feedback with priority colors and type icons - Toast notifications for user actions 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
ColaFlow Web
AI-Powered Project Management System - Frontend
Tech Stack
- Framework: Next.js 15 (App Router)
- Language: TypeScript 5.x
- UI Components: shadcn/ui + Radix UI
- Styling: Tailwind CSS 4
- State Management:
- TanStack Query v5 (server state)
- Zustand (client state)
- Form Handling: React Hook Form + Zod
- Icons: Lucide React
Project Structure
colaflow-web/
├── app/ # Next.js App Router
│ ├── (auth)/ # Authentication routes
│ ├── (dashboard)/ # Main application routes
│ │ ├── dashboard/ # Dashboard page
│ │ ├── projects/ # Projects management
│ │ └── kanban/ # Kanban board
│ ├── layout.tsx # Root layout
│ └── page.tsx # Home page (redirects to dashboard)
├── components/
│ ├── ui/ # shadcn/ui components
│ ├── features/ # Feature-specific components
│ │ ├── projects/ # Project components
│ │ └── kanban/ # Kanban components
│ └── layout/ # Layout components (Header, Sidebar)
├── lib/
│ ├── api/ # API client and endpoints
│ ├── hooks/ # Custom React hooks
│ ├── providers/ # Context providers
│ └── utils.ts # Utility functions
├── stores/ # Zustand stores
├── types/ # TypeScript type definitions
└── public/ # Static assets
Getting Started
Prerequisites
- Node.js 20 LTS or higher
- npm or yarn
Installation
- Install dependencies:
npm install
- Create
.env.localfile:
NEXT_PUBLIC_API_URL=http://localhost:5000/api/v1
Development
Start the development server:
npm run dev
Open http://localhost:3000 in your browser.
Build
Build the production application:
npm run build
Linting & Formatting
# Run ESLint
npm run lint
# Format code with Prettier
npm run format
Features Implemented (Sprint 1)
Core Pages
- Dashboard with project overview
- Projects list page with search and filtering
- Project detail page
- Kanban board (static, drag-and-drop in Sprint 2)
Components
- Responsive layout with sidebar navigation
- Project creation dialog with form validation
- Kanban board with column and task cards
- shadcn/ui integration (Button, Card, Dialog, Form, Input, Table)
State Management
- TanStack Query for server state
- Zustand for UI state (sidebar, theme, modals, notifications)
- Custom hooks for projects and kanban
API Integration
- Type-safe API client with error handling
- Projects API endpoints
- Kanban board API integration
TypeScript Types
All API responses and data models are fully typed:
types/project.ts- Project, Epic, Story, Task typestypes/kanban.ts- Kanban board typestypes/user.ts- User and authentication types
API Endpoints
The frontend expects the following API endpoints:
GET /api/v1/projects- List all projectsPOST /api/v1/projects- Create projectGET /api/v1/projects/{id}- Get project detailsPUT /api/v1/projects/{id}- Update projectDELETE /api/v1/projects/{id}- Delete projectGET /api/v1/projects/{id}/kanban- Get kanban board
Environment Variables
| Variable | Description | Default |
|---|---|---|
NEXT_PUBLIC_API_URL |
Backend API URL | http://localhost:5000/api/v1 |
Next Steps (Sprint 2)
- Implement drag-and-drop for Kanban board
- Add task creation and editing
- Implement authentication (login/register)
- Add user profile management
- Implement real-time updates with SignalR
- Add workflow customization
- Implement audit logs viewer
Architecture Reference
For complete architecture details, see: docs/M1-Architecture-Design.md
License
Proprietary - ColaFlow Project
Description
Languages
TypeScript
97.9%
CSS
1.1%
Dockerfile
0.6%
JavaScript
0.4%