A modern, responsive Kanban board application built with React and TypeScript, featuring a beautiful UI powered by shadcn/ui and Tailwind CSS. Perfect for teams and individuals to manage tasks efficiently with drag-and-drop functionality, real-time updates, and responsive design.
| Desktop | Tablet | Mobile |
|---|---|---|
Make sure you have the following installed on your development machine:
# Check your versions
node --version
npm --version
git --version
git clone https://github.com/Ayokanmi-Adejola/Task-Management.git
cd Task-Management
# Using npm
npm install
# Or using yarn
yarn install
# Using npm
npm run dev
# Or using yarn
yarn dev
The application runs on port 8081 by default. You can modify this in the vite.config.ts file if needed.
// vite.config.ts
export default defineConfig({
server: {
host: "::",
port: 8081, // Change this port if needed
},
// ... other config
});
| Script | Description |
|---|---|
npm run dev |
Starts the development server with hot reload |
npm run build |
Creates an optimized production build |
npm run build:dev |
Creates a development build |
npm run lint |
Runs ESLint to check code quality |
npm run preview |
Preview the production build locally |
Task-Management/
├── public/ # Static assets
├── src/
│ ├── components/ # Reusable UI components
│ │ ├── ui/ # shadcn/ui components
│ │ ├── KanbanBoard.tsx # Main Kanban board component
│ │ ├── TaskCard.tsx # Individual task component
│ │ └── ...
│ ├── contexts/ # React context providers
│ │ ├── AuthContext.tsx # Authentication state
│ │ └── ThemeContext.tsx # Theme management
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utility functions
│ ├── pages/ # Page components
│ ├── types/ # TypeScript type definitions
│ ├── utils/ # Helper functions
│ └── main.tsx # Application entry point
├── components.json # shadcn/ui configuration
├── tailwind.config.ts # Tailwind CSS configuration
├── vite.config.ts # Vite build configuration
└── tsconfig.json # TypeScript configuration
The application supports custom theming through CSS variables. Modify the theme in src/index.css:
:root {
--background: 0 0% 100%;
--foreground: 222.2 84% 4.9%;
--primary: 221.2 83.2% 53.3%;
/* Add your custom colors */
}
Extend the task types in src/types/kanban.ts:
export type IssueType = 'bug' | 'feature' | 'enhancement' | 'documentation' | 'your-new-type';
Currently, the project focuses on TypeScript compilation and ESLint for code quality. To run the linter:
npm run lint
npm run build
This creates a dist folder with optimized production files.
dist foldername: Deploy to GitHub Pages
on:
push:
branches: [ main ]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '18'
- run: npm install
- run: npm run build
- uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./dist
We welcome contributions from the community! Please follow these steps:
git clone https://github.com/your-username/Task-Management.git
cd Task-Management
git checkout -b feature/amazing-feature
Update documentation if needed
Test your changes
npm run lint # Check code quality
npm run build # Ensure build works
git commit -m "feat: add amazing feature"
git push origin feature/amazing-feature
When reporting bugs, please include: - Steps to reproduce the issue - Expected vs actual behavior - Screenshots (if applicable) - Browser and device information
$ claude mcp add Task-Management \
-- python -m otcore.mcp_server <graph>