Yaojia Wang e52c8300de feat(frontend): Implement Phase 1 - ProjectManagement API Client & Hooks
Add complete API integration for ProjectManagement module:
- Epics, Stories, Tasks API clients
- React Query hooks for all entities
- Updated type definitions to match backend API
- API test page for connection verification

Changes:
- Update lib/api/config.ts: Add all ProjectManagement endpoints
- Update types/project.ts: Match backend API models (Epic, Story, Task)
- Create lib/api/pm.ts: API clients for Epics, Stories, Tasks
- Create lib/hooks/use-epics.ts: React Query hooks for Epic CRUD
- Create lib/hooks/use-stories.ts: React Query hooks for Story CRUD
- Create lib/hooks/use-tasks.ts: React Query hooks for Task CRUD
- Create app/(dashboard)/api-test/page.tsx: API connection test page

Features:
- Full CRUD operations for Epics, Stories, Tasks
- Status change and assignment operations
- Optimistic updates for better UX
- Error handling with toast notifications
- Query invalidation for cache consistency

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-04 20:58:59 +01:00
2025-11-02 20:24:08 +01:00
2025-11-03 00:04:07 +01:00
2025-11-03 00:04:07 +01:00
2025-11-03 00:04:07 +01:00

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

  1. Install dependencies:
npm install
  1. Create .env.local file:
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 types
  • types/kanban.ts - Kanban board types
  • types/user.ts - User and authentication types

API Endpoints

The frontend expects the following API endpoints:

  • GET /api/v1/projects - List all projects
  • POST /api/v1/projects - Create project
  • GET /api/v1/projects/{id} - Get project details
  • PUT /api/v1/projects/{id} - Update project
  • DELETE /api/v1/projects/{id} - Delete project
  • GET /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
No description provided
Readme 1.1 MiB
Languages
TypeScript 97.9%
CSS 1.1%
Dockerfile 0.6%
JavaScript 0.4%