Skip to content

Repository files navigation

📋 Angular Kanban Drag & Drop

Angular TypeScript Angular CDK Completed

Repository GitHub Stars Last Commit


📑 Table of Contents


🌐 Live Demo

🔗 https://alobuuls.github.io/angular-kanban-drag-drop/


📖 Description

Note

Angular 12 application that implements a Kanban board with Drag & Drop functionality using Angular CDK.

The project allows users to reorder columns, move tasks between columns, and organize information visually through a Trello-style interface while demonstrating reusable components, modular architecture, and drag-and-drop interactions.


⚙️ System Requirements

Before running the project, make sure you have installed:

  • 📦 Node.js: v12.14.x – v14.x (recommended: v14.21.3 LTS)
  • 📦 npm: v6+
  • 🅰️Angular CLI: v12.x

🔍 Verify Installed Versions

Run the following commands in your terminal:

node -v
npm -v
ng version

🚀 Project Installation

1️⃣ Clone the repository

git clone git@github.com:alobuuls/angular-kanban-drag-drop.git

cd angular-kanban-drag-drop

2️⃣ Install dependencies

npm install

▶️ Run the Project

Start the development server:

ng serve

Then open:

http://localhost:4200

🧠 Project Architecture

The application follows a modular component-based architecture focused on Drag & Drop interactions.

📦 Kanban Dashboard Component

Responsible for:

  • Board state management
  • Column organization
  • Drag & Drop orchestration
  • Task movement handling
  • Data synchronization

📦 Kanban Column Component

Responsible for:

  • Column rendering
  • Task grouping
  • Drop zone management
  • Column interactions

📦 Kanban Item Component

Responsible for:

  • Task rendering
  • Task information display
  • Drag item behavior
  • UI consistency

📦 Menu Component

Responsible for:

  • Navigation rendering
  • Application structure
  • User interaction entry points

📦 Interfaces

Responsible for:

  • Kanban data contracts
  • Type safety
  • Board structure definition

✨ Features

  • 📋 Kanban board interface
  • 🧩 Angular CDK Drag & Drop
  • ↔️ Column reordering
  • 📌 Task movement between columns
  • 🔄 Task reordering inside columns
  • 🎯 Drag handles for tasks and columns
  • 📦 Local JSON data source
  • 🧠 Dynamic board updates
  • 🎨 Trello-style user interface
  • 🚀 Modular component architecture

🛠 Technologies Used

Technology Purpose
Angular 12 Framework
TypeScript Application Logic
Angular CDK Drag & Drop Drag & Drop Functionality
JSON Data Mock Data Source
HTML5 Structure
CSS3 Styling

📁 Project Structure

angular-kanban-drag-drop/

├── src/
│
├── app/
│   │
│   ├── components/
│   │   ├── kanban/
│   │   │   ├── kanban-dashboard.component.*
│   │   │   ├── kanban-column/
│   │   │   └── kanban-item/
│   │   │
│   │   ├── list/
│   │   └── menu/
│   │
│   ├── interfaces/
│   │   └── kanban.interface.ts
│   │
│   ├── app.component.ts
│   └── app.module.ts
│
├── assets/
│   └── json/
│       └── data.json
│
├── angular.json
├── package.json
├── tsconfig.json
└── README.md

🔥 Best Practices Implemented

  • Component-based architecture
  • Separation of concerns
  • Strong typing with TypeScript interfaces
  • Angular CDK integration
  • Reusable UI components
  • Modular project organization
  • Drag & Drop abstraction
  • Scalable board structure
  • Data-driven UI rendering
  • Maintainable code organization

🎯 Project Goal

Practice and strengthen Angular UI interaction concepts through the implementation of a Kanban board application:

  • Angular CDK
  • Drag & Drop
  • Component Communication
  • TypeScript Interfaces
  • Reusable Components
  • Dynamic Rendering
  • State Management
  • Front-End Architecture
  • User Experience Design
  • Modular Development

📄 License

This project is intended for educational and portfolio purposes.

Created by Alondra Francisco.

About

Angular Kanban board with drag & drop functionality using Angular CDK, supporting column and task reordering.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages