Yaojia Wang 04ba00d108 fix(frontend): Align Epic field names with backend API
Fix frontend-backend API field mismatches for Epic entity by:
1. Changed Epic.title to Epic.name in type definitions
2. Added Epic.createdBy field (required by backend)
3. Updated all Epic references from epic.title to epic.name
4. Fixed Epic form to use name field and include createdBy

Files modified:
- types/project.ts: Updated Epic, CreateEpicDto, UpdateEpicDto interfaces
- components/epics/epic-form.tsx: Fixed defaultValues to use epic.name
- components/projects/hierarchy-tree.tsx: Replaced epic.title with epic.name
- components/projects/story-form.tsx: Fixed epic dropdown to show epic.name
- app/(dashboard)/projects/[id]/epics/page.tsx: Display epic.name in list
- app/(dashboard)/projects/[id]/page.tsx: Display epic.name in preview
- app/(dashboard)/api-test/page.tsx: Display epic.name in test page

This resolves the 400 Bad Request error when creating Epics caused by
missing 'Name' field (was sending 'title' instead) and missing 'CreatedBy' field.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-05 13:30:48 +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%